保存新的MS Word文件时,我想生成一个自动页脚,如果另存为文件,则要更新页脚。
下面的代码通常可以与旧的Word一起使用。使用最新的Word,只有在我按键盘上的F12键时它才起作用。任何帮助将不胜感激!
Sub FileSaveAs()
Dialogs(wdDialogFileSaveAs).Show
Dim i As Long
Dim ThisPath As String
Dim pName As String
Dim TextInFooter As String
Dim FullName As String
ThisPath = ActiveDocument.Path
pName = ActiveDocument.Name
FullName = ThisPath & "\" & pName
TextInFooter = "This file was saved in: " & FullName & " on the " & Now
For i = 1 To ActiveDocument.Sections.Count
With ActiveDocument.Sections(i)
.Footers(wdHeaderFooterPrimary).Range.Text = TextInFooter
End With
Next
End Sub
答案 0 :(得分:0)
您注意到,新版本仅在F12上触发FileSaveAs。不知道这是错误还是功能。
如果仅显示文档以印刷或公开形式显示的信息很重要-我建议的解决方法:
您可以避免在保存时插入页脚,并使用字段插入页脚,因为文档已包含要插入的信息。您只需要使其可见即可。页脚将是:
This file was saved as { FILENAME \p } the { SAVEDATE \@ "dd.MM.yyyy HH:mm:ss"}
根据需要调整日期/时间格式。 您必须强制更新字段-这是自动宏所在的位置。
Sub AutoOpen()
' set fields to update before printing (if saved as and printed while open)
Options.UpdateFieldsAtPrint = True
' Update all current fields in just opened document
ActiveDocument.Fields.Update
End Sub
Sub AutoClose()
' update fields when closing
ActiveDocument.Fields.Update
End Sub
唯一的区别是,您具有完整的路径,包括文件名和扩展名。此外,有时可能会保存文件,但尚未打开/关闭/打印文件,并且还没有更新字段。
理论上,您也可以使用AutoOpen宏(activedocument.fields.add
)将页脚插入文档中。