我正在搜索文档中的特定文本,删除文本然后添加分节符。我只能让这个代码适用于一个实例。当我尝试do while循环,检查每一行时,Word崩溃了。
With Selection.Find
.Text = "INSTRUCTOROVERVIEW"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
With Selection
If .Find.Forward = True Then
.Collapse Direction:=wdCollapseStart
Else
.Collapse Direction:=wdCollapseEnd
End If
.Find.Execute Replace:=wdReplaceOne
If .Find.Forward = True Then
.Collapse Direction:=wdCollapseEnd
Else
.Collapse Direction:=wdCollapseStart
End If
.Find.Execute
End With
Selection.InsertBreak Type:=wdSectionBreakNextPage
答案 0 :(得分:1)
您也应该显示循环代码。
但是,设置
.Wrap = wdFindStop
将阻止Find无限期地运行代码,这可能就是它崩溃的原因。使用wdFindContinue
将导致搜索从文档的开头一遍又一遍地继续。
但是,您还应该检查Find.Execute
返回的结果。它是一个Boolean
值(True或False),表示Find是否成功。如果不成功,您应该使用Exit Do
或Exit For
来摆脱循环。