2014-12-05 80 views
1

我想替換單詞doc頁腳中的文本。有些文檔可能只包含主頁眉和頁腳,有些則包含多個頁眉和頁腳。替換多個頁腳和/或主要頁腳單詞中的文本vba

這裏是我的代碼:

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 

多個頁腳文件它工作正常,但如果只有一個頁腳可用時,它顯示了一個錯誤。

+0

什麼錯誤快到了 – David 2014-12-05 20:08:22

回答

0

您需要將代碼中的On Error向上移動一行。否則,當您查找下一個頁腳時,找不到任何內容,並在代碼讀取關於如何處理錯誤的代碼之前發生錯誤。

編輯:你也可以做一個For Each wdPrimaryFooterStory in ActiveDocument.StoryRanges(沒把握確切的語法,但這應該幫助:http://word.mvps.org/faqs/customization/ReplaceAnywhere.htm

+0

上的錯誤向上移動工作謝謝chrismas007 – user2531449 2014-12-06 20:09:57

+0

馬克的答案嗎?。如接受然後。 – Chrismas007 2014-12-06 20:15:15