多个分节符 - 如何仅将页眉和页脚添加到第一节?
Multiple section breaks - how to add header and footer only to 1st section?
我编写了一段代码,用于向文档添加页眉和页脚。该文档有多个部分(分页符),我只想将页眉和页脚添加到第一页。
在代码中,我选择了第 (1) 部分,但宏将页眉和页脚添加到每个部分的第一页。
你知道怎么解决吗?我试过了,不知道。代码如下:
With wordApp.ActiveDocument
.PageSetup.DifferentFirstPageHeaderFooter = True
.Sections(1).Footers(wdHeaderFooterFirstPage) _
.Range.InsertBefore _
Cells(18, i)
End With
With wordApp.ActiveDocument
.PageSetup.DifferentFirstPageHeaderFooter = True
.Sections(1).Headers(wdHeaderFooterFirstPage) _
.Shapes(1).TextFrame.TextRange.Text = Cells(15, i)
End With
首先,我们需要解决您对术语的错误使用。分页符仅添加新页面,它们不会创建部分。创建新节的是分节符。
默认情况下,新部分中的页眉和页脚 link 编辑到上一节中。当您在后面的部分中编辑页眉或页脚时,您可以在页眉和页脚选项卡上看到这一点。
您可以使用以下代码删除 link,该代码非常古老,可以追溯到 Link 到 Previous 被称为 Same as Previous
的时候
Public Sub ZapTheSAP()
Dim sec As Section
Dim hdrftr As HeaderFooter
For Each sec In ActiveDocument.Sections
For Each hdrftr In sec.Headers
hdrftr.LinkToPrevious = False
Next hdrftr
For Each hdrftr In sec.Footers
hdrftr.LinkToPrevious = False
Next hdrftr
Next sec
End Sub
您只需要:
With wordApp.ActiveDocument
.Sections(1).PageSetup.DifferentFirstPageHeaderFooter = True
.Sections(2).PageSetup.DifferentFirstPageHeaderFooter = False
With .Sections(1)
.Headers(wdHeaderFooterFirstPage).Range.Text = Cells(15, i)
.Footers(wdHeaderFooterFirstPage).Range.InsertBefore Cells(18, i)
End With
End With
我编写了一段代码,用于向文档添加页眉和页脚。该文档有多个部分(分页符),我只想将页眉和页脚添加到第一页。 在代码中,我选择了第 (1) 部分,但宏将页眉和页脚添加到每个部分的第一页。
你知道怎么解决吗?我试过了,不知道。代码如下:
With wordApp.ActiveDocument
.PageSetup.DifferentFirstPageHeaderFooter = True
.Sections(1).Footers(wdHeaderFooterFirstPage) _
.Range.InsertBefore _
Cells(18, i)
End With
With wordApp.ActiveDocument
.PageSetup.DifferentFirstPageHeaderFooter = True
.Sections(1).Headers(wdHeaderFooterFirstPage) _
.Shapes(1).TextFrame.TextRange.Text = Cells(15, i)
End With
首先,我们需要解决您对术语的错误使用。分页符仅添加新页面,它们不会创建部分。创建新节的是分节符。
默认情况下,新部分中的页眉和页脚 link 编辑到上一节中。当您在后面的部分中编辑页眉或页脚时,您可以在页眉和页脚选项卡上看到这一点。
您可以使用以下代码删除 link,该代码非常古老,可以追溯到 Link 到 Previous 被称为 Same as Previous
的时候Public Sub ZapTheSAP()
Dim sec As Section
Dim hdrftr As HeaderFooter
For Each sec In ActiveDocument.Sections
For Each hdrftr In sec.Headers
hdrftr.LinkToPrevious = False
Next hdrftr
For Each hdrftr In sec.Footers
hdrftr.LinkToPrevious = False
Next hdrftr
Next sec
End Sub
您只需要:
With wordApp.ActiveDocument
.Sections(1).PageSetup.DifferentFirstPageHeaderFooter = True
.Sections(2).PageSetup.DifferentFirstPageHeaderFooter = False
With .Sections(1)
.Headers(wdHeaderFooterFirstPage).Range.Text = Cells(15, i)
.Footers(wdHeaderFooterFirstPage).Range.InsertBefore Cells(18, i)
End With
End With