使用 vba 更改 word 文档中的页脚

Change the footer in word doc using vba

我有一个 .docx 模板,其中包含我想用另一个字符串替换的字符串(如序列号、日期、作者等)。我想为此使用 excel。


    Dim MaFeuille As Worksheet
    Set MaFeuille = Sheets("Information")

    Dim file As String
    file = ActiveWorkbook.Path & "\" & "nomfichier.docx"

    Dim word_app As Object
    Set word_app = CreateObject("Word.Application")
    With word_app
        .Visible = True
        .WindowState = 1 'value for wdWindowStateMaximize
    End With

    Dim word_fichier As Object
    
    Set word_fichier = word_app.Documents.Open(file)
    With word_fichier.Range.Find
        .Text = "blabla"
        .Replacement.Text = "coucou"
        .Execute Replace:=2
    End With

它在工作,但在 header/footer 中不工作。所以我修改了关于 Header/Footer (https://docs.microsoft.com/fr-fr/office/vba/api/word.headersfooters) 的文档,所以只是为了尝试,我输入了示例:

    With word_fichier.Sections(1)
        .Headers(wdHeaderFooterPrimary).Range.Text = "Header goes here"
        .Footers(wdHeaderFooterPrimary).Range.Text = "Footer goes here"
    End With

但是我有一个 5941 错误。

感谢@Míša Charvátová,我添加了“Microsoft Word 16.0 对象库”并且它正在运行。

编辑(更好的答案):

Do you have "Microsoft Word 16.0 Object Library" added to References under tools? I tried your code and when this was added, it worked