在文档中查找字符串并删除其后的所有内容

use*_*498 2 vba document ms-word range ms-office

我想在word文档中找到一个字符串并删除它后面的所有内容.

不使用Selection对象,最好的方法是什么?

bar*_*owc 10

Range改为使用对象.直接离开Word 2003帮助:

如果已从Range对象获取Find对象,则在找到与查找条件匹配的文本时不会更改选择,但会重新定义Range对象.以下示例查找活动文档中第一次出现的单词"blue".如果在文档中找到"blue",则重新定义myRange

Set myRange = ActiveDocument.Content
myRange.Find.Execute FindText:="blue", _
    Forward:=True
If myRange.Find.Found = True Then 
Run Code Online (Sandbox Code Playgroud)

现在使用该对象的SetRange方法Range使范围的开头成为您搜索的字符串结尾之后的下一个字符,并使范围的结尾成为文档的结尾:

myRange.SetRange (myRange.End + 1), ActiveDocument.Content.End
Run Code Online (Sandbox Code Playgroud)

(TODO:当你的字符串是文档中的最后一件事时,你需要处理这个案例)

删除内容:

myRange.Delete
Run Code Online (Sandbox Code Playgroud)