Notifications
Clear all

Macro de impressão que não funciona com cabeçalho e rodapé

10 Posts
2 Usuários
0 Reactions
2,010 Visualizações
(@jorge24)
Posts: 31
Trusted Member
Topic starter
 

Bom dia,

Estou a tentar fazer uma macro de impressão com cabeçalho e rodapé mas quer um quer outro não saem impressos.

Passo a explicar:

No doc. em anexo configuro toda a macro, margens tipo de folha, cabeçalho (que no caso é uma IMAGEM), rodapé (data) e o nome da folha e linhas a repetir em cada pagina.

o problema que venho colocar é que quer o cabeçalho quer o rodapé não são impressos quando executo a macro.

Se algum expert me poder ajudar agradeço. Abr

 
Postado : 05/05/2014 2:26 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Eu ainda não baixei seu anexo, consegue adaptar esse código?
http://www.vba-and-excel.com/vba/printi ... -or-footer

Att

 
Postado : 05/05/2014 5:17 am
(@jorge24)
Posts: 31
Trusted Member
Topic starter
 

Olá alexandrevba,

ainda não estou assim tão avançado. No entanto não me parece que dê para adaptar uma vez que o que pretendo é uma macro completa de impressão na qual a imagem do cabeçalho e a data no rodapé já estejam inseridas.

esta macro é interessante para os orçamentos em que existem valores a transportar para a pagina seguinte.

De qualquer das formas obrigado pode sempre ser útil.

Abraço

 
Postado : 05/05/2014 7:26 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Jorge, no momento não tenho como realizar as adaptações corretas, portanto seguem algumas dicas para ajustar sua rotina :

Primeiro, você está repetindo varias vezes as mesmas instruções, não sei se utilizou o Gravador de Macros ou copiou esta rotina de algum lugar, então procure apagar as repetições, veja que nestas instruções dentro do With :
With ActiveSheet.PageSetup - aqui estão todas as definições, e você está utilizando 3 vezes;

Segundo, pelo que entendi você já tem o cabeçalho e rodape configurados manualmente, digo na questão da IMAGEM(cabeçalho) e Data(Rodapé), então se foram colocadas manualmente, você está orientando na rotina para limpar o Cabeçalho e rodapé nas linhas :
LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""

Veja que as ASPAS vazias alteram os valores para nenhum, portanto na hora da impressão os mesmos estão vazios.

De uma olhada no link abaixo, tem uma rotina bem enxuta é só ajustar ;
Configurando minha impressão rodapé e cabeçalho
http://www.saberexcel.com/dicas_especia ... modal=true

Se não conseguir e não obtiver uma resposta, mais tarde qdo estiver em casa eu ajusto.

[]s

 
Postado : 05/05/2014 8:29 am
(@jorge24)
Posts: 31
Trusted Member
Topic starter
 

olá pessoal,

está negra a coisa. Já tentei de tudo. esta é a última versão que estou a usar, ainda assim nada. :( :?:
Tb já tentei eliminar da macro todas as definições de cabeçalho e rodapé e pré configurar isso na impressão mas não resultou.

Alguém me consegue explicar porquê??? Thanks

Sub impr()
'
' impr Macro
'
' Atalho por teclado: Ctrl+u
'
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$3"
.PrintTitleColumns = ""
End With
Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = ""
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.LeftHeader = "&G"
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = "Concurso|&D"
.LeftMargin = Application.InchesToPoints(0.236220472440945)
.RightMargin = Application.InchesToPoints(0.236220472440945)
.TopMargin = Application.InchesToPoints(1.33858267716535)
.BottomMargin = Application.InchesToPoints(0.748031496062992)
.HeaderMargin = Application.InchesToPoints(0.905511811023622)
.FooterMargin = Application.InchesToPoints(0.31496062992126)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = True

End With
Application.PrintCommunication = True
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End Sub

 
Postado : 06/05/2014 2:49 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Jorge, qual a versão do excel que está utilizando ?
Em seu anexo o Cabeçalho não possui nenhuma IMAGEM, como é inserida esta imagem ? Atraves de alguma Rotina ou você adiciona manualmente ?

[]s

 
Postado : 06/05/2014 7:04 am
(@jorge24)
Posts: 31
Trusted Member
Topic starter
 

Boa tarde Mauro Coutinho,

Sim, no anexo não anexei nenhuma imagem. Já tentei das duas maneiras colocar direto no ficheiro e depois fazer a macro só para imprimir e colocar junto com a macro imprimir.

O mais estranho é que a data no rodapé tb não sai na impressão.

With ActiveSheet.PageSetup
.LeftHeader = "&G" ("G" representa a imagem)
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = "Concurso|&D" ("D" representa a data)

Versão
Microsoft® Office 2010 Prof.

 
Postado : 06/05/2014 7:51 am
(@jorge24)
Posts: 31
Trusted Member
Topic starter
 

Por exemplo para anexar esta imagem????|||

 
Postado : 06/05/2014 7:57 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Jorge, para adicionar no cabeçalho utilize a rotina abaixo :

Lembre-se que tem de ajustar na Rotina o Caminho onde se encontra a Imagem: .Filename = "C:Tempthumb_logo_apav.jpg" 'Pasta (Caminho) onde está a Imagem

Sub InserirFiguraCabecalho()

    With ActiveSheet.PageSetup.CenterHeaderPicture
        .Filename = "C:Tempthumb_logo_apav.jpg" 'Pasta (Caminho) onde está a Imagem
        .Height = 20 'Formata o Tamanho da Imagem
        .Width = 25 'Formata o Tamanho da Imagem
        .Brightness = 0.36
        .ColorType = msoPictureAutomatic
        .Contrast = 0.39
        .CropBottom = 0
        .CropLeft = 0
        .CropRight = 0
        .CropTop = 0
    End With

    ' Habilitar para a imagem ser mostrada no cabeçaho.
    ActiveSheet.PageSetup.CenterHeader = "&G"

End Sub

Faça um teste primeiro e depois é só ajustar para utilizar no rodapé alterando CenterHeader para LeftHeader

[]a

 
Postado : 06/05/2014 8:57 am
(@jorge24)
Posts: 31
Trusted Member
Topic starter
 

Olá Mauro Coutinho,

Obrigado pela dica.

abr

 
Postado : 08/05/2014 3:54 am