替换多个页脚和/或主页脚字vba中的文本

时间:2014-12-05 20:02:02

标签: vba ms-word word-vba

我想替换word doc的页脚中的文本。有些文档可能只有主页眉和页脚,有些文档有页眉和页脚。

这是我的代码:

Sub changedate()

     Selection.HomeKey Unit:=wdStory
     ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter    

Check1:
     With Selection.Find
        .Text = "Dec 01, 2015"
        .Replacement.Text = "Dec 01, 2015"
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

      ActiveWindow.ActivePane.View.NextHeaderFooter
    On Error GoTo Cont
         GoTo Check1


Cont:
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument


End Sub

在多个页脚文档上,它可以正常工作,但如果只有一个页脚可用,则显示错误。

1 个答案:

答案 0 :(得分:0)

您需要在代码中移动On Error一行。否则,当您查找下一个页脚时,找不到任何页脚,并且在代码读取有关如何处理错误的行之前发生错误。

修改:您还可以执行For Each wdPrimaryFooterStory in ActiveDocument.StoryRanges(不确定确切的语法,但这应该有所帮助:http://word.mvps.org/faqs/customization/ReplaceAnywhere.htm