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