[英]Word Macro to insert footer
我想运行一个Word宏,该宏将插入一个带有文件名,日期和页码的页脚。
下面的宏在文件正文中插入文件名,日期和页码。 如何重写它以将其插入页脚? 非常感谢您的帮助:)
'AddFooter宏
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`
这是我的方法:
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
我尝试了这个:
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
尝试:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.