【问题标题】:Find a string in a document and delete everything after it在文档中查找字符串并删除其后的所有内容
【发布时间】:2010-10-04 14:24:50
【问题描述】:

我想在 word 文档中找到一个字符串,然后删除它之后的所有内容。

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

【问题讨论】:

  • 为什么不想使用 Selection 对象?似乎是一个任意约束。

标签: vba ms-word ms-office range document


【解决方案1】:

改用Range 对象。直接退出 Word 2003 帮助:

如果你已经找到了 Find 对象 从 Range 对象中,选择 文本匹配时不会改变 找到标准,但范围 对象被重新定义。下列 示例定位第一次出现 活动中的“蓝色”一词 文档。如果在 文档,myRange 被重新定义

Set myRange = ActiveDocument.Content
myRange.Find.Execute FindText:="blue", _
    Forward:=True
If myRange.Find.Found = True Then 

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

myRange.SetRange (myRange.End + 1), ActiveDocument.Content.End

(TODO:当您的字符串是文档中的最后一件事时,您需要处理这种情况)

删除内容:

myRange.Delete

【讨论】:

    猜你喜欢
    • 2012-10-19
    • 2017-06-03
    • 1970-01-01
    • 2012-03-08
    • 2015-03-02
    • 1970-01-01
    • 1970-01-01
    • 2019-02-11
    • 1970-01-01
    相关资源
    最近更新 更多