Classe HeaderFooter - un en-tête ou un pied de page donné (Word VBA)
La classe HeaderFooter représente un en-tête ou un pied de page donné. Pour utiliser une variable de classe HeaderFooter, elle doit d'abord être instanciée, par exemple
Dim hfr as HeaderFooter
Set hfr = Selection.HeaderFooter
For Each
Voici un exemple de traitement des éléments HeaderFooter dans une collection
Dim hfrFooter As HeaderFooter
For Each hfrFooter In Footers
Next hfrFooter
Exists
True si l'objet HeaderFooter spécifié existe.
Le premier en-tête et pied de page existent dans tous les nouveaux documents par défaut.
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
Renvoie une WdHeaderFooterIndex qui représente l'en-tête ou le pied de page spécifié dans un document ou une section. Les valeurs de retour possibles sont wdHeaderFooterEvenPages, wdHeaderFooterFirstPage - Renvoie le premier en-tête ou pied de page spécifié dans un document ou une section, wdHeaderFooterPrimary.
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 l'objet HeaderFooter spécifié est un en-tête.
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 l'en-tête ou le pied de page spécifié est lié à l'en-tête ou au pied de page correspondant de la section précédente.
Si un en-tête ou un pied de page est lié, son contenu est identique à celui de l'en-tête ou du pied de page précédent.
ActiveDocument.Sections(1) _
.Headers(wdHeaderFooterPrimary).PageNumbers.Add
PageNumbers
Renvoie une collection PageNumbers qui représente tous les champs de numéro de page inclus dans l’en-tête ou le pied de page spécifié.
Pour plus d’informations sur le renvoi d’un seul membre d’une collection, voir renvoi d’un objet à partir d’une collection.
Set myDoc = Documents.Add
With myDoc.Sections(1).Footers(wdHeaderFooterPrimary)
.PageNumbers.Add PageNumberAlignment := wdAlignPageNumberCenter
End With
Range
Renvoie un objet Range qui représente la partie d'un document contenue dans l'en-tête ou le pied de page spécifié.
Dim rngRange As Range
Set rngRange = Selection.HeaderFooter.Range
Shapes
Renvoie une collection Shapes qui représente tous les objets Shape d’un en-tête ou d’un pied de page.
Cette collection peut contenir des dessins, des formes, des images, des objets OLE, des contrôles ActiveX, des objets texte et des légendes. Lorsqu'elle est appliquée à un document, la propriété Shapes renvoie tous les objets Shape dans l'article principal du document, à l'exception des en-têtes et pieds de page.
MsgBox ActiveDocument.Sections(1). _
Headers(wdHeaderFooterPrimary).Shapes.Count