【发布时间】:2020-05-21 16:51:14
【问题描述】:
我有一个宏,它可以将一个单页文档变成一个 5 页文档(NCR 副本),用于文件夹中的所有文件。
我在页脚中使用了一组嵌套的IF 字段,它根据页码更改页脚。该字段看起来像这样
Text here {If{PAGE}="1""Original"{If{PAGE}="2""Copy 1"
{If{PAGE}="3""Copy 2"{If{PAGE}="4""Copy 3"{If{PAGE}="5""Copy 4"}}}}}
Other Text
我正在尝试弄清楚如何将此页脚添加到文件夹中的所有文档中。如果有简单的基于页码的方法,则不需要使用字段。
我已经把头撞在墙上,像疯了一样搜索,现在拿起帽子。
复制的宏是:
Sub Make5CopiesNCR()
vDirectory = BrowseForFolder
vFile = Dir(vDirectory & "\" & "*.*")
Do While vFile <> ""
Documents.Open FileName:=vDirectory & "\" & vFile
MakeCopies
vFile = Dir
Loop
End Sub
End Sub
Private Sub MakeCopies()
Dim i As Integer
Selection.WholeStory
Selection.Copy
For i = 1 To 6
Selection.PasteAndFormat wdFormatOriginalFormatting
Next
With ActiveDocument
.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Name:=6 'Page number
.Bookmarks("\Page").Select
With Selection
.Delete
ActiveDocument.Close SaveChanges:=wdSaveChanges, OriginalFormat:=wdWordDocument
End With
End With
End Sub
【问题讨论】:
-
如果您将每个页面设置为一个部分并取消第一部分和第二部分之间的页眉和页脚链接,那么您可以在第一页上将页脚简化为原始页。在第二部分重新开始编号,然后将 Copy {pagenumber} 作为页脚。
-
请使用问题下方的edit 链接来包含用于合并文档的代码。不太清楚你想要什么,因为如果页脚在第一个文档中并且其余部分被插入,它们应该自动继承第一页的页脚。如果这没有发生,我们需要准确了解您在做什么......
-
如果我不清楚,我深表歉意。我运行邮件合并来创建单个单词 doc 文件。然后我运行上面的代码在每个文件中创建 4 个额外的页面。我的最后一步是获取每个 5 页的文档,并读取第一页“原始”的页脚,然后是“副本 1”、“副本 2”等。我一直在做的是打开每个文档并粘贴嵌套的 if 语句来创建我需要的页脚。