【发布时间】:2015-02-26 01:48:39
【问题描述】:
为什么这个 VBA 代码((sub 的初始部分)会修改 Word 文档中的可见选择?我没有修改任何选择。根据 MSDN 描述:
"如果您已经从 Range 对象到达 Find 对象,则 找到与查找条件匹配的文本时,选择不会更改, 但是 Range 对象被重新定义。 (取自:Find Object (Word))
所以下面的代码应该只是修改范围,完全不影响选择...
Sub SelectTarget() Dim MyRange As RangeSet MyRange = Selection.Range With MyRange.Find 'Searches for _AM or _PM (_ is a space) .ClearFormatting .MatchWildcards = True .Text = " [AP]M" .Execute End With
这是一个文档的屏幕截图,其中选择了一些文本(我称之为可见选择):
但是用F8一步步执行代码可以看到.Execute行之后,文档中可见的选择消失了,文本背景保持全白,根本没有选择,甚至没有插入点。
我曾尝试在代码中输入Replacement.Clearformatting 和Replace = ""lines 以防止之前的查找/替换受到干扰,但它并没有改变任何东西...
有任何想法吗?
【问题讨论】: