我正在寻找一个Word宏,它插入一个带有文件名和日期和页码的页脚。
以下宏在文档正文中插入文件名,日期和页码。如何重写以将其插入页脚?非常感谢您的帮助:)
'AddFooter Macro
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
"FILENAME \p ", PreserveFormatting:=True
Selection.HomeKey Unit:=wdLine
Selection.TypeParagraph
Selection.MoveUp Unit:=wdLine, Count:=1
Selection.TypeText Text:=vbTab
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
"PAGE \* Arabic ", PreserveFormatting:=True
Selection.TypeText Text:=vbTab
Selection.InsertDateTime DateTimeFormat:="M/d/yyyy H:mm", InsertAsField:= _
True, DateLanguage:=wdEnglishUS, CalendarType:=wdCalendarWestern, _
InsertAsFullWidth:=False
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
Selection.Font.Size = 8
Selection.MoveDown Unit:=wdLine, Count:=1
Selection.HomeKey Unit:=wdLine, Extend:=wdExtend
Selection.Font.Size = 8
结束Sub`
答案 0 :(得分:1)
我就这样做了:
Sub AddFooter()
Dim Filename As String
Dim Sec As Section
Filename = ThisDocument.FullName
For Each Sec In ActiveDocument.Sections
With Sec.Footers(wdHeaderFooterPrimary)
.Range.InsertDateTime DateTimeFormat:="M/d/yyyy H:mm", InsertAsField:= _
True, DateLanguage:=wdEnglishUS, CalendarType:=wdCalendarWestern
.Range.Text = .Range.Text & Filename
.PageNumbers.Add
End With
Next Sec
End Sub
答案 1 :(得分:0)
我尝试过:
Sub AddFooterText()
Dim Filename As String
Filename = ThisDocument.FullName
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
Selection.TypeText Text:=Filename
Selection.TypeText Text:=" "
Selection.InsertDateTime DateTimeFormat:="M/d/yyyy H:mm"
ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End Sub
答案 2 :(得分:0)
尝试:
Sub AddFooter()
With ActiveDocument.Sections.First.Footers(wdHeaderFooterPrimary).Range
.Text = vbTab
.Fields.Add Range:=.Characters.Last, Type:=wdFieldEmpty, Text:="PAGE", PreserveFormatting:=False
.InsertAfter vbTab
.Fields.Add Range:=.Characters.Last, Type:=wdFieldEmpty, Text:="DATE \@ ""M/D/YYYY H:mm""", PreserveFormatting:=False
.InsertAfter vbCr
.Fields.Add Range:=.Characters.Last, Type:=wdFieldEmpty, Text:="FILENAME \p", PreserveFormatting:=False
End With
End Sub
注意1::要保留任何现有内容,请将“ .Text = vbTab”更改为“ .InsertAfter vbTab”。
注意2::为防止以后更改日期,请替换:
.InsertAfter vbTab
.Fields.Add Range:=.Characters.Last, Type:=wdFieldEmpty, Text:="DATE \@ ""M/D/YYYY H:mm""", PreserveFormatting:=False
.InsertAfter vbCr
具有:
.InsertAfter vbTab & Format(Now,"M/D/YYYY H:mm") & vbCr