在 word 上使用 VBA,如何更改 header 上的字段?

Using VBA on word, how do I change fields on header?

我正在制作一个可以复制到不同文件夹的模板文档。当我打开文档时,我希望它在同一文件夹中找到名为“Mod127*.xlsx”的 excel 文件,并将所有字段的源路径更新为该 Excel 文件。

我为此编写了这段代码,并且它有效,除了位于文档 header 中的一个字段

Dim fieldCount As Integer, x As Long
With ActiveDocument
    ficheiro = Dir(.Path & "\Mod127*")
    If ficheiro = "" Then
        MsgBox "Model 127 not found in folder"
    Else
        fieldCount = .Fields.Count
        For x = 1 To fieldCount
            With .Fields(x)
                If .Type = 56 Then ' Type 56 is an excel link
                    .LinkFormat.SourceFullName = ActiveDocument.Path & "\" & ficheiro
                    .Update
                    .LinkFormat.AutoUpdate = False
                    DoEvents
                End If
            End With
        Next x
    End If
End With

知道如何到达那个 header 字段吗?

我还尝试将其中一个字段交叉引用到标题,但在代码运行后我得到“找不到引用”

页眉和页脚是 Section 的子对象。根据该部分的页面布局,最多可能有 3 个页眉和页脚,因此您需要知道要更新哪些。下面的代码应该可以帮助您入门。

        With .Sections(1).Headers(wdHeaderFooterPrimary).Range.Fields(1)
                .LinkFormat.SourceFullName = ActiveDocument.Path & "\" & ficheiro
                .Update
                .LinkFormat.AutoUpdate = False
                DoEvents
        End With