Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por MariLima
#62813
Olá pessoal!

Tenho um arquivo com várias planilhas e a logo da empresa em cada uma delas. Preciso da logo para enviar o arquivo em pdf porém a imagem não deve sair na impressão e me toma muito tempo ir de aba em aba ocultando as imagens quando vou imprimir.
Achei as seguintes macros na internet, porém só funcionam para a planilha ativa e não consigo fazê-las rodar na pasta de trabalho. Podem me ajudar?

OCULTAR:
Sub HideAllObjects()
Dim ob As Shape
For Each ob In ActiveSheet.Shapes
ob.Visible = False
Next
End Sub

MOSTRAR:
Sub ShowAllObjects()
Dim ob As Shape
For Each ob In ActiveSheet.Shapes
ob.Visible = True
Next
End Sub
Avatar do usuário
Por AfonsoMira
Posts Avatar
#62864
Penso que seja mais fácil ir na formatação da imagem, em propriedades e desseleccionar a opção Imprimir Objeto.
E pronto apenas precisa fazer isso uma vez e a imagem não vai ser impressa!
Por MariLima
#62890
Estou fazendo isso, o problema é que quando salvo o arquivo em pdf, a imagem também não aparece e preciso que ela saia no pdf mas não saia na impressão. Como são muitas planilhas, fica bem trabalhoso fazer isso de uma por uma rs
Por osvaldomp
#62893
#
O código abaixo imprime TODAS as planilhas do arquivo.
Se você quiser imprimir apenas uma ou algumas então retorne e informe os nomes das planilhas a serem impressas para ajustes no código.
Código: Selecionar todos
Sub ImprimeTodasAsPlanilhasSemLogo()
 Dim ws As Worksheet, ob As Shape
  For Each ws In Worksheets
   For Each ob In ws.Shapes
    ob.Visible = False
   Next ob
   'coloque aqui o seu código para imprimir ~~~> exemplo: ws.PrintOut
   For Each ob In ws.Shapes
    ob.Visible = True
   Next ob
  Next ws
End Sub
Por MariLima
#62895
Nossa, é isso mesmo!
Como seria para imprimir apenas algumas planilhas? As que vão ser impressas variam, mas as que não vão ser impressas são: Cadastro, Resumo e Dados.
Por osvaldomp
#62896
Código: Selecionar todos
Sub ImprimeTodasAsPlanilhasSemLogo()
 Dim ws As Worksheet, ob As Shape
  For Each ws In Worksheets
   If ws.Name <> "Cadastro" And ws.Name <> "Resumo" And ws.Name <> "Dados" Then
    For Each ob In ws.Shapes
     ob.Visible = False
    Next ob
    'coloque aqui o seu código para imprimir ~~~> exemplo: ws.PrintOut
    For Each ob In ws.Shapes
     ob.Visible = True
    Next ob
   End If
  Next ws
End Sub
MariLima agradeceu por isso
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord