1

我希望使用宏来替换 word 文档中的尾注。这是我的情况:

我有两个 word 文档。两份文件的尾注数量完全相同。一份文档包含正确的正文内容,但有结尾注释的占位符。另一个文档的内容已过时,但有正确的尾注来填充第一个文档中的占位符。

我在下面设置了一个宏,它可以遍历正确文件中的所有尾注,然后打开下面名为“old.docx”的另一个文档。我只是不知道如何用 ftstr 的值替换 old.docx 中的尾注(请参见下文)。

任何帮助都会很棒!

Sub endnoteReplacer()

Dim ft As Endnote
Dim wrdApp As Object
Dim wrdDoc As Object

Dim r1 As Range, ftstr As String, mark

    Set wrdApp = CreateObject("Word.Application")
    wrdApp.Visible = False
    Set wrdDoc = wrdApp.Documents.Open("C:\Desktop\old.docx")

For Each ft In Word.ActiveDocument.Endnotes

    ftstr = ft.Range.Text

    wrdDoc.Endnotes(ft.Index).Range.Text = ftstr

Next ft

End Sub
4

1 回答 1

1

如果我说对了,您需要在循环中添加这个简单的解决方案:

For Each ft In Word.ActiveDocument.Endnotes

    ftstr = ft.Range.Text
    'change value of corresponding footnote in old.docx to value of ftstr
    '!! new line !!
    wrdDoc.Endnotes(ft.Index).Range.Text = ftstr
Next ft

但我假设您需要将尾注(1)更改为尾注(1),将 2 更改为 2,等等......

于 2013-05-30T19:51:09.603 回答