VBA宏替换Word中的尾注

时间:2013-05-30 19:40:57

标签: vba ms-word word-vba

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

我有两个单词docs。两份文件都有相同数量的尾注。一个文档充满了正确的正文内容,但有结尾注释的占位符。另一个文档已经过时了,但是有正确的尾注来填充第一个文档中的占位符。

我在下面设置了一个宏,它可以遍历正确文件中的所有尾注,然后在下面打开另一个名为“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

1 个答案:

答案 0 :(得分: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等......

相关问题