Abulkalam有多个文档,他希望从一个文档到另一个文档具有连续的页码。如果一个文档具有添加或删除的页面,则他必须手动更改以下文档中的页面编号。他知道他可以使用主文档和子文档,但是蠕虫病毒就是他不想打开的那种。

阿布卡拉姆(Abulkalam)想知道是否有一种方法可以避免始终需要手动更改页码。

在Word中没有自动执行此操作的方法。您可以尝试通过使用文档中的字段来解决问题,但这有点复杂。作为示例,假设您有三个文档,每个文档代表一本更大的书中的章节。 Chap1.docx有15页,Chap2.docx有11页,Chap3.docx有17页。首先打开Chap1.docx,然后执行以下一般步骤:

。在文档倒数第二页(在本例中为第14页)的某个位置插入连续的分节符。

。在文档第一部分的页脚中,按Ctrl + F9。

这将插入一对字段括号,您应在其中键入单词PAGE。

。按F9折叠刚刚创建的字段。这表示当前页面的页码。

。在功能区的“设计”选项卡上(由于您在页脚中工作,因此应该可见),单击“下一节”工具。这会将您移至文档最后一节中的页脚,也就是您在步骤1中插入的​​分节符之后。 。单击链接到上一个工具,以便未选中它。这会将上一节中的页脚与先前创建的页脚“取消链接”。

。删除页脚中的PAGE字段。 (不必担心;由于您取消了本节的页脚与上一节的页脚的链接,因此该字段仍存在于上一页中。)

。按Ctrl + F9插入一对字段括号,您应在其中输入单词NUMPAGES。

。按F9折叠刚刚创建的字段。

。选择刚刚创建的字段,然后按Shift + Ctrl + F5。 Word将显示“书签”对话框。 (请参见图1。)

。键入一个简单的书签名称,例如bk。当您单击添加时,将创建书签。

。关闭“书签”对话框。

。单击“关闭页眉和页脚”工具(在功能区的“设计”选项卡上),然后保存文档。

现在,您需要遵循Chap2.docx文档中的相同常规步骤,不同之处在于您使用的字段需要稍微复杂一些。

假设文档文件存储在C:\ MyDocs \ Example的目录中,则在步骤2中使用以下复合字段:

{ ={ INCLUDETEXT "\\MyDocs\\Example\\Chap1.docx" bk \! } + { PAGE } }

这是使用INCLUDETEXT字段从Chap1.docx中获取名为bk的书签中的任何内容(这是该文档中的页面总数),然后将当前页面号添加到该值中。因此,无论Chap1.docx中的页数如何,编号都会继续。

类似地,您在步骤7中应该使用的字段也很复杂:

{ ={ INCLUDETEXT "\\MyDocs\\Example\\Chap1.docx" bk \! } + { NUMPAGES } }

就是您的Chap2.docx文件;仅此而已。页面编号应该可以正常工作。在Chap3.docx文件中,再次使用与在Chap2.docx文件中相同的复杂字段,执行相同的步骤。唯一的区别是,您可以通过以下方式在字段中引用Chap2.docx:

{ ={ INCLUDETEXT "\\MyDocs\\Example\\Chap2.docx" bk \! } + { PAGE } } { ={ INCLUDETEXT "\\MyDocs\\Example\\Chap2.docx" bk \! } + { NUMPAGES } }

请注意,每当您从任何文档中添加或删除页面时,其中的页码都会在字段更新时自动更新。 (当您手动更新字段或选择打印或使用打印预览时,字段会更新。)

当然,使用此方法时需要记住一些“陷阱”。首先,如果您从任何文件中删除连续的分节符(第1步),您真的会搞砸。其次,如果将文档移到其他文件夹(或将文档发送给使用其他文件夹的其他人),则这些字段将根本无法使用。

第三,如果您在文档中使用多个部分,那么当您尝试补偿这些部分时,此方法可能会变得复杂得多。

另一种方法是使用宏来处理页码。宏可以逐步浏览所有文件,并将起始页码设置为适合这些文件的任何内容。以下是此类宏的示例:

Sub PageNumberReset()

Dim pgNo As Long     Dim n As Long     Dim pathName As String     Dim fileNames     Dim thisFile As String     Dim aRange As Range

' Specify the path to the document files     pathName = "C:\MyDocs\Example\"

' Create an array holding the document file names, in sequence     fileNames = Array("Chap1.docx", "Chap2.docx", "Chap3.docx")



pgNo = 0     For n = 0 To UBound(fileNames)

thisFile = pathName & fileNames(n)

Application.Documents.Open (thisFile)

ActiveDocument.Sections(1).Headers(1).PageNumbers.StartingNumber = pgNo + 1         Set aRange = ActiveDocument.Range         aRange.Collapse Direction:=wdCollapseEnd         aRange.Select         pgNo = Selection.Information(wdActiveEndAdjustedPageNumber)

Application.Documents(thisFile).Close Savechanges:=wdSaveChanges     Next n End Sub

要使用该宏,只需指定存储文档的目录,然后将文档文件名放入fileNames数组中。宏将第一个文档设置为从第1页开始,而每个后续文档的设置都比上一个文档中的最高页码多一个。如果您更改任何文档中的页数,则需要重新运行宏。

如果不想使用字段或宏对页进行编号,则可以重新考虑文档结构,并将所有不同的文档组合为一个文档。您还可以完全摆脱Word的困扰,并在桌面发布程序(例如InDesign)中进行页面布局,该程序专门用于处理多文件页面编号。

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)上描述的宏,我准备了一个包含有用信息的特殊页面。

链接:/ wordribbon-WordTipsMacros [点击此处在新的浏览器标签中打开该特殊页面]。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(11572)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。 Word的旧菜单界面在这里:

链接:/ word-Automatic_Page_Numbers_across_Multiple_Documents [跨多个文档的自动页码]。