插入页眉页脚2
Sub test()
Dim myRange As Range
Set myRange =
ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range
With myRange
.Fields.Add myRange, wdFieldPage, , False
.InsertBefore ""
.InsertAfter "-1"
.Fields.Add myRange, wdFieldEmpty, , False
.InsertBefore "> 2""XXX??Ë?" & vbTab & "?ÆÎñ??µÚ"
.Fields.Add .Characters(1), wdFieldPage, , False
.InsertBefore ""
.InsertAfter "Ò?"""
.Fields.Add myRange, wdFieldEmpty, , False
With .ParagraphFormat
.Alignment = wdAlignParagraphJustify
.TabStops.ClearAll
.TabStops.Add ActiveDocument.PageSetup.TextColumns.Width,
wdAlignTabRight
ActiveDocument.ActiveWindow.View.ShowFieldCodes = False
End With
End With
End Sub
Sub Example()
'?ÓÖ???Ò?µÄÏÂÒ?Ò??ªÊ??ÆÒ?Âë,ÈçÖ???Ϊ10,ÔòµÚ11Ò?Ϊ1.
Dim wdDoc As Word.Document, wdRange As Word.Range
Dim FieldRange As Word.Range, strField As String
Dim myPages As Integer, CodesLenth As Integer
Dim PageLenth As Integer, EndRange As Long
Dim StartRange As Long
myPages = 12
strField = "IF PAGE <= " & myPages & " " & """""" & " =PAGE-" & myPages
CodesLenth = VBA.Len(strField)
PageLenth = Len(CStr(myPages))
Set wdDoc = Word.ActiveDocument
With wdDoc
Set wdRange
= .Sections(1).Headers(wdHeaderFooterPrimary).Range
wdRange.Text = strField
wdRange.SetRange 11 + PageLenth + 5, 11 + PageLenth + 5 + 4
.Fields.Add Range:=wdRange, Type:=wdFieldEmpty, PreserveFormatting:=False
EndRange = wdRange.Paragraphs(1).Range.End - 1
wdRange.SetRange wdRange.Start - 1, EndRange
.Fields.Add Range:=wdRange, Type:=wdFieldEmpty, PreserveFormatting:=False
StartRange = wdRange.Paragraphs(1).Range.Start
wdRange.SetRange StartRange + 3, StartRange + 7
.Fields.Add Range:=wdRange, Type:=wdFieldEmpty, PreserveFormatting:=False
EndRange = wdRange.Paragraphs(1).Range.End - 1
wdRange.SetRange StartRange, EndRange
.Fields.Add Range:=wdRange, Type:=wdFieldEmpty, PreserveFormatting:=False
Set wdRange
= .Sections(1).Headers(wdHeaderFooterPrimary).Range
wdRange.Fields.Update
End With
End Sub