Word页眉设置不同的文字,但是页码按照顺序不变

示例

​如何实现以下的效果

 

 

 

开始前的准备

首先,在文件-选项-显示中把

 

显示分页符的工具打开,这个非常重要,方便后续观察调整分页符 。

具体操作

下面开始设置。

1.首先,在

中,选择一个合适的页眉,笔者选择三栏

2.笔者选用一下格式作为页眉

 注意:在设置最右边的页码数字 1 时,不要直接用手敲,(word中很多带有顺序属性的数字鼠标左键单击数字本体时会整体变灰,和正常的选中微微不同。见下图。这个可以通过长时间的使用发现)

 

而应该选择左上角的页码

 3.接下来是重点,请注意。现在新建一页的话会出现如下结果。

页码发生变换但是章节一不变。

需要在上一页,也就是第一页中光标选中最后一行的最后一列。如下

选择

就可以得到如下页面

4.然后双击页眉,

点掉图示位置,变成这样

 

然后把章节一改成章节二,然后就基本就大功告成了

如果有同学发现第三页的章节三还是章节一,那么就需要再选中章节三的页眉,重复第四步的操作就可以了。

 

 

 

 

 

 

 

 

 

### 使用VBA合并Word文档并保留原有页眉和页脚 为了实现多个Word文档的合并而改变原有的页眉和页脚,可以编写一段VBA代码来完成此任务。该方法涉及遍历指定目录下的所有Word文档,并将其逐一追加到一个新的目标文档中,在此过程中确保源文档中的页眉和页脚会被覆盖或丢失。 下面是一个具体的解决方案: #### 解决方案概述 创建一个新文档作为最终的目标文档,依次打开待合并的各个源文档,复制其内容至目标文档内相应节的位置上。由于Word支持按章节管理不同页眉页脚设置,因此在粘贴时需特别注意保持原样。 #### 实现细节 1. 创建新的空白文档用于存储合并后的结果; 2. 遍历要合并的所有文件路径列表; 3. 对于每一个文件,读取其中的内容并将之插入到当前正在构建的新文档的最后一节之后; 4. 关闭已处理完毕的单个文档对象而无需保存更改; 5. 继续上述过程直到所有的输入文档都被加入到了输出文档之中; 以下是完整的VBA代码示例[^1]: ```vba Sub MergeDocumentsWithoutChangingHeadersFooters() Dim docTarget As Document ' 目标文档 Set docTarget = Documents.Add Dim filePaths() As String ' 文件路径数组 ReDim filePaths(0 To 2) ' 假设有三个文件需要合并 filePaths(0) = "C:\path\to\doc1.docx" filePaths(1) = "C:\path\to\doc2.docx" filePaths(2) = "C:\path\to\doc3.docx" Dim i As Integer For i = LBound(filePaths) To UBound(filePaths) Call AppendDocToEnd(docTarget, filePaths(i)) Next i End Sub Private Sub AppendDocToEnd(targetDoc As Document, sourceFilePath As String) Dim rngInsertionPoint As Range Set rngInsertionPoint = targetDoc.Content rngInsertionPoint.Collapse Direction:=wdCollapseEnd Dim secLastSection As Section Set secLastSection = targetDoc.Sections.Last If Not (secLastSection Is Nothing) Then With secLastSection.PageSetup .DifferentFirstPageHeaderFooter = False .OddAndEvenPagesHeaderFooter = True End With ' 插入分隔符以形成新的一节 rngInsertionPoint.InsertBreak Type:=wdSectionBreakNextPage End If Dim docSource As Document Set docSource = Documents.Open(sourceFilePath) ' 将源文档的内容移动到最后位置 docSource.Range.Copy rngInsertionPoint.PasteSpecial DataType:=wdPasteRTF ' 处理页眉页脚 CopyHeadersFootersFromTo docSource.Sections.First.Headers(wdHeaderFooterPrimary), _ targetDoc.Sections.Last.Headers(wdHeaderFooterPrimary) CopyHeadersFootersFromTo docSource.Sections.First.Footers(wdHeaderFooterPrimary), _ targetDoc.Sections.Last.Footers(wdHeaderFooterPrimary) docSource.Close SaveChanges:=False End Sub Private Sub CopyHeadersFootersFromTo(fromHdrFtr As HeaderFooter, toHdrFtr As HeaderFooter) fromHdrFtr.Range.FormattedText.Copy toHdrFtr.Range.Paste End Sub ``` 这段程序定义了一个名为`MergeDocumentsWithoutChangingHeadersFooters`的过程,它会接收一系列Word文档路径并通过调用辅助函数`AppendDocToEnd`逐个添加这些文档的内容到新建的目标文档里去。同时,通过`CopyHeadersFootersFromTo`子程序保证了每一份附加进来的材料都能携带自己的头部与底部样式一同进入总汇文件当中[^2]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值