有时候替换的时候,只需要替换文档的一部分内容,但是执行直接录制的宏一般会把全文都替换了
。好久都没有解决这个问题,感觉实在不方便。今天找到了原因:
就是Execute 方法(Find 对象)的Wrap属性:
Wrap Variant 类型,可选。如果搜索从不是文档开头的位置开始,并到达文档末尾(如 Forward 设置为 False,则相反),用本参数控制接下来的操作。当在选定内容或区域中没有找到搜索文字时,本参数也控制接下来的操作。可以是下列 WdFindWrap 常量之一:
常量 描述
wdFindAsk 搜索完所选内容或者区域后,Microsoft Word 会显示一条消息,询问是否搜索文档的其他部分。
wdFindContinue 到达搜索区域的开始或者结尾时,继续执行查找操作。
wdFindStop 到达搜索范围的开始或者结尾时,停止执行查找操作。
来自http://zhidao.baidu.com/link?url=ReKPDbbHsGyESZ4PuCbYR1Xu zkmxZsDJCz9tB09Oxv4uGS9O Xi3ORSbAbQ1vLefH1uHJ3iuB c66lviG_Fa6nY49uCwj11fOjBpDmgOcM 7Cm
以下是替换段落标记为空格的代码,只需要把录制的宏的.Wrap =wdFindAsk 换成
.Wrap = wdFindStop
故代码为:
Sub 替换换行符()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
就是Execute 方法(Find 对象)的Wrap属性:
Wrap Variant 类型,可选。如果搜索从不是文档开头的位置开始,并到达文档末尾(如 Forward 设置为 False,则相反),用本参数控制接下来的操作。当在选定内容或区域中没有找到搜索文字时,本参数也控制接下来的操作。可以是下列 WdFindWrap 常量之一:
常量 描述
wdFindAsk 搜索完所选内容或者区域后,Microsoft Word 会显示一条消息,询问是否搜索文档的其他部分。
wdFindContinue 到达搜索区域的开始或者结尾时,继续执行查找操作。
wdFindStop 到达搜索范围的开始或者结尾时,停止执行查找操作。
来自http://zhidao.baidu.com/link?url=ReKPDbbHsGyESZ4PuCbYR1Xu
以下是替换段落标记为空格的代码,只需要把录制的宏的.Wrap =wdFindAsk
故代码为:
Sub 替换换行符()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
