1

次のように、ドキュメントの最後までループする検索と置換のマクロを作成しました。

Sub CheckEnglishAndTypos()
    Do Until ActiveDocument.Bookmarks("\Sel").Range.End = ActiveDocument.Bookmarks("\EndOfDoc").Range.End
    'Loop the search till the end
        Selection.MoveDown Unit:=wdLine, Count:=1
        Selection.Paragraphs(1).Range.Select
        With Selection.Find
            .Text = "(<*>) \1"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindStop
            .Format = True
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = True
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
            Selection.Find.Execute Replace:=wdReplaceAll
        Loop
        ' Searching the remaning (till the end of document)
        Exit Sub
End Sub

問題は、ドキュメントに脚注があり、検索が脚注に移動した場合、「コレクションの要求されたメンバーが存在しません」というエラーが発生することです。どうやら、選択/カーソルが脚注内にあり、ドキュメントに脚注のページに続くページがある場合、マクロはドキュメントの最後を見つけることができません。

とにかくそれを修正することはありますか?脚注を検索から除外する方法はクールですが、私は他の代替ソリューションを受け入れます。

4

2 に答える 2