Classe HeaderFooter - um único cabeçalho ou rodapé (Word VBA)

A classe HeaderFooter representa um único cabeçalho ou rodapé. Objeto HeaderFooter é membro do HeadersFooters coleção. Coleção HeadersFooters inclui todos os cabeçalhos e rodapés na seção do documento especificado. Para usar uma variável de classe HeaderFooter, ela primeiro precisa ser instanciada por exemplo


Dim hfr as HeaderFooter
Set hfr = Selection.HeaderFooter

For Each

Aqui está um exemplo de processamento dos itens HeaderFooter em uma coleção.


Dim hfrFooter As HeaderFooter
For Each hfrFooter In Footers
	
Next hfrFooter

Exists

True se o objeto HeaderFooter especificado existe. Boolean de leitura/gravação.

O cabeçalho principal e o rodapé existirem em todos os novos documentos, por padrão. Use este método para determinar se existe um cabeçalho de primeira página ou de página ímpar ou rodapé. Você também pode usar a propriedade DifferentFirstPageHeaderFooter ou OddAndEvenPagesHeaderFooter para retornar ou definir o número de cabeçalhos e rodapés na seção ou documento especificado.


Dim secTemp As Section 
 
Set secTemp = ActiveDocument.Sections(1) 
If secTemp.Headers(wdHeaderFooterFirstPage).Exists = True Then 
 secTemp.Headers(wdHeaderFooterFirstPage).Range.Text = _ 
 "First Page" 
End If

Index

Retorna um WdHeaderFooterIndex que representa o cabeçalho ou rodapé especificado em um documento ou seção. Somente leitura. Os valores de retorno possíveis são wdHeaderFooterEvenPages - Retorna todos os cabeçalhos ou rodapés em páginas pares, wdHeaderFooterFirstPage - Retorna o primeiro cabeçalho ou rodapé de um documento ou seção, wdHeaderFooterPrimary - Retorna o cabeçalho ou o rodapé de todas as páginas exceto da primeira página de um documento ou seção.


Sub ChangeFirstPageFooter() 
 Dim hdrFirstPage As HeaderFooter 
 
 Set hdrFirstPage = ActiveDocument.Sections(1).Headers(wdHeaderFooterFirstPage) 
 
 If hdrFirstPage.Index = wdHeaderFooterFirstPage Then 
 With hdrFirstPage.Shapes.AddShape(Type:=msoShapeHeart, _ 
 Left:=36, Top:=36, Width:=36, Height:=36) 
 .Fill.ForeColor.RGB = RGB(Red:=255, Green:=0, Blue:=0) 
 End With 
 End If 
 
End Sub

IsEmpty


Dim booIsEmpty As Boolean
booIsEmpty = Selection.HeaderFooter.IsEmpty

IsHeader

True se o objeto HeaderFooter especificado for um cabeçalho. Somente leitura booleano.


With ActiveDocument.ActiveWindow.ActivePane.View 
 .Type = wdPrintView 
 .SeekView = wdSeekCurrentPageHeader 
End With 
 
If Selection.HeaderFooter.IsHeader = True Then 
 ActiveDocument.ActiveWindow.ActivePane.View _ 
 .SeekView = wdSeekCurrentPageFooter 
End If 
 
Selection.HeaderFooter.PageNumbers.Add

LinkToPrevious

True se o cabeçalho ou o rodapé especificado está vinculado ao cabeçalho ou rodapé correspondente na seção anterior. Boolean de leitura/gravação.

Quando um cabeçalho ou um rodapé está vinculado, seu conteúdo é o mesmo que o do cabeçalho ou do rodapé anterior. Como a propriedade LinkToPrevious está definida como True por padrão, você pode adicionar cabeçalhos, rodapés e números de página ao documento inteiro trabalhando com os cabeçalhos, rodapés e números de página da primeira seção. Por exemplo, adicionar números de página ao cabeçalho de todas as páginas em todas as seções do documento ativo.


ActiveDocument.Sections(1) _ 
 .Headers(wdHeaderFooterPrimary).PageNumbers.Add

PageNumbers

Retorna uma coleção PageNumbers que representa todos os campos de número de página incluídos no cabeçalho ou rodapé especificado.

Para obter informações sobre como retornar um único membro de uma coleção, consulte retornando um objeto de uma coleção.


Set myDoc = Documents.Add 
With myDoc.Sections(1).Footers(wdHeaderFooterPrimary) 
 .PageNumbers.Add PageNumberAlignment := wdAlignPageNumberCenter 
End With

Range

Retorna um objeto Range que representa a parte de um documento que está contida no cabeçalho ou rodapé especificado.


Dim rngRange As Range
Set rngRange = Selection.HeaderFooter.Range

Shapes

Retorna uma coleção Shapes que representa todos os objetos Shape em um cabeçalho ou rodapé. Somente leitura.

Essa coleção pode conter desenhos, formas, figuras, objetos OLE, controles ActiveX, objetos de texto e textos explicativos. Para obter informações sobre como retornar um único membro de uma coleção, consulte retornando um objeto de uma coleção. A propriedade Shapes, quando aplicada a um documento, retorna todos os objetos Shape no texto principal do documento, excluindo os cabeçalhos e rodapés. Quando aplicada a um objeto HeaderFooter, a propriedade Shapes retorna todos os objetos Shape encontrados em todos os cabeçalhos e rodapés do documento.


MsgBox ActiveDocument.Sections(1). _ 
 Headers(wdHeaderFooterPrimary).Shapes.Count