1

我正在文档中搜索特定文本,删除文本,然后添加分节符。我只能让这段代码适用于一个实例。当我尝试使用 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
4

1 回答 1

1

您还应该显示您的循环代码。

但是,设置

.Wrap = wdFindStop

将阻止 Find 无限期地运行代码,这可能就是它崩溃的原因。使用wdFindContinue将导致搜索从文档的开头开始,一遍又一遍地继续。

但是,您还应该检查Find.Execute. 它是一个Boolean值(True 或 False),指示 Find 是否成功。如果不成功,你应该使用Exit DoorExit For打破你的循环。

于 2013-07-21T16:52:42.257 回答