Clase HeaderFooter - un solo encabezado o pie de página (Word VBA)
La clase HeaderFooter representa un solo encabezado o pie de página. Para usar una variable de clase HeaderFooter, primero debe ser instanciado, por ejemplo
Dim hfr as HeaderFooter
Set hfr = Selection.HeaderFooter
For Each
A continuación, se muestra un ejemplo de cómo procesar los elementos HeaderFooter en una colección.
Dim hfrFooter As HeaderFooter
For Each hfrFooter In Footers
Next hfrFooter
Exists
True si existe el objeto HeaderFooter especificado.
El encabezado principal y el pie de página existan en todos los documentos nuevos de forma predeterminada.
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
Devuelve un WdHeaderFooterIndex que representa el encabezado o pie de página especificado en un documento o una sección. Posibles valores de retorno son wdHeaderFooterEvenPages - Devuelve todos los encabezados o pies de página de las páginas con número par, wdHeaderFooterFirstPage - Devuelve el primer encabezado o pie de página del documento o sección, wdHeaderFooterPrimary - Devuelve el encabezado o pie de página de todas las páginas excepto la primera de un documento o sección.
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 si el objeto HeaderFooter especificado es un encabezado.
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 si el encabezado o el pie de página está vinculado al encabezado o pie de página correspondiente de la sección anterior.
Cuando un encabezado o un pie de página es vinculado, su contenido es el mismo que el del encabezado o pie de página anterior.
ActiveDocument.Sections(1) _
.Headers(wdHeaderFooterPrimary).PageNumbers.Add
PageNumbers
Devuelve una colección PageNumbers que representa todos los campos de número de página incluidos en el encabezado o pie de página especificado.
Para obtener información sobre cómo devolver un solo miembro de una colección, vea devolver un objeto de una colección.
Set myDoc = Documents.Add
With myDoc.Sections(1).Footers(wdHeaderFooterPrimary)
.PageNumbers.Add PageNumberAlignment := wdAlignPageNumberCenter
End With
Range
Devuelve un objeto Range que representa la parte de un documento incluida en el encabezado o pie de página especificado.
Dim rngRange As Range
Set rngRange = Selection.HeaderFooter.Range
Shapes
Devuelve una colección Shapes que representa todos los objetos Shape de un encabezado o pie de página.
En la colección pueden incluirse dibujos, formas, objetos OLE, controles ActiveX, objetos de texto y llamadas. La propiedad Shapes, cuando se aplica a un documento, devuelve todos los objetos Shape del artículo principal del documento, sin incluir los encabezados y pies de página.
MsgBox ActiveDocument.Sections(1). _
Headers(wdHeaderFooterPrimary).Shapes.Count