【发布时间】:2020-07-07 05:27:07
【问题描述】:
我被要求更新一个非常旧的 VBA 宏,该宏创建从当前光标到当前表列末尾的选择。然后它搜索该选择并用新字符替换某些字符。在 Word 2003 中,它可以完美运行,只替换所选内容内的字符。但是,在 Word 2010 中,它会替换所选内容之外的字符。任何帮助将非常感激。我进行了广泛搜索,并尝试了此代码的许多变体。
Selection.EndKey Unit:=wdColumn, Extend:=wdExtend
With Selection.Find
WordBasic.EditReplace Find:=" ", Replace:="", Direction:=0, MatchCase:=True, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceAll:=1, Format:=0, Wrap:=0
WordBasic.EditReplace Find:="-", Replace:="–", Direction:=0, MatchCase:=0, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceAll:=1, Format:=0, Wrap:=0
WordBasic.EditReplace Find:="0", Replace:="–", Direction:=0, MatchCase:=True, WholeWord:=True, PatternMatch:=0, SoundsLike:=0, ReplaceAll:=1, Format:=0, Wrap:=0
WordBasic.EditReplace Find:="^p", Replace:="", Direction:=0, MatchCase:=True, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceAll:=1, Format:=0, Wrap:=0
WordBasic.EditReplace Find:="^l", Replace:="", Direction:=0, MatchCase:=True, WholeWord:=0, PatternMatch:=0, SoundsLike:=0, ReplaceAll:=1, Format:=0, Wrap:=0
End With
【问题讨论】:
-
如果不使用选择,而是找到选择的列,然后设置范围,该怎么办?一旦设置了范围,我认为它只会在该范围内搜索。
-
谢谢,@hessr17。完美运行。