Excel 多个分节符-如何仅将页眉和页脚添加到第一节?

Excel 多个分节符-如何仅将页眉和页脚添加到第一节?,excel,vba,ms-word,Excel,Vba,Ms Word,我编写了一个代码,将页眉和页脚添加到文档中。文档有多个部分(分页符),我只想在第一页添加页眉和页脚。 在代码中,我选择了第(1)节,但宏正在将页眉和页脚添加到每个节的第一页 你知道怎么修吗?我试过了,但不知道。代码如下: With wordApp.ActiveDocument .PageSetup.DifferentFirstPageHeaderFooter = True .Sections(1).Footers(wdHeaderFooterFirstPage) _ .R

我编写了一个代码,将页眉和页脚添加到文档中。文档有多个部分(分页符),我只想在第一页添加页眉和页脚。 在代码中,我选择了第(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

首先,我们需要解决您使用术语的错误。分页符只会添加新页面,不会创建分区。正是分段符创建了新的分段

默认情况下,新节中的页眉和页脚链接到上一节。在后面的一节中编辑页眉或页脚时,可以在“页眉和页脚”选项卡上看到这一点。

您可以使用下面的代码删除该链接,该代码非常旧,可以追溯到调用linktoprevious时与调用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

这段代码是从Excel运行的吗?如果是,您使用的是后期绑定还是早期绑定?您是否使用显式
选项?您是否设置了Microsoft Word的参考(菜单附加>参考)如果您不确定我所问问题的答案,那么在即时窗口中的以下代码
Debug.Print CLng(wdHeaderFooterFirstPage)
的结果是什么?是的,代码从excel运行。我只是从VBA开始,所以我不确定,但我没有为这段代码声明任何变量。您给出的代码的结果是“2”。您需要编辑第2节并删除“SameAsPrevious”标志。不知道如何在VBA中,但基本上第2节复制第1节,直到您删除该标志。因此,您的问题不是您的代码,而是编辑第2节中缺少的内容。在每个节中,或至少在添加页眉/页脚后的节中,需要将指向上一设置的链接设置六次。此设置适用于第一节之后每个节中的三个页眉和三个页脚。这需要在向页眉/页脚添加任何内容之前完成“请参阅我对页眉和页脚设置的概述:很抱歉,这些确实是分节符。我已经删除了以前的链接。看起来,我的代码将每个部分视为一个新文档,并重新添加相同的内容。即使在代码“Sections(1)”中选择了in之后,@AdamZiaja-Setting
LinkToPrevious=False
也会简单地删除链接并保留内容,然后您可以根据需要删除这些内容。尝试过的部分。第一。页面设置。不同的第一页?我有,所以也许您可以解释一下您的理解。activedocument上的AFAIK Differentitfi4stPage设置所有节。我的建议仅限于第1页document@AdamZiaja-仅当页面布局发生变化时,才应使用分节符。您确定文档实际上需要有多个部分吗?谢谢,这很有效!我只需将形状添加到页眉,因为我想将其添加到页面的特定一侧,但现在所有形状都已排序:)