Execute 方法
================================
应用于 Find 对象的 Execute 方法。
================================
运行指定的查找操作。如果查找成功,则返回 True。Boolean 类型。
expression.Execute(FindText, MatchCase, MatchWholeWord, MatchWildcards, MatchSoundsLike, MatchAllWordForms, Forward, Wrap, Format, ReplaceWith, Replace, MatchKashida, MatchDiacritics, MatchAlefHamza, MatchControl)
expression 必需。该表达式返回 Find 对象。
FindText Variant 类型,可选。指定需搜索的文本。可用空字符串 ("") 搜索格式,也可通过指定相应的字符代码搜索特殊字符。例如,“^p”对应段落标记,“^t”对应制表符。有关可以使用的特殊字符列表,请参阅查找和替换文本或其他项。
MatchCase Variant 类型,可选。如果为 True,则指定查找文本区分大小写。相当于“编辑”菜单“查找和替换”对话框中的“区分大小写”复选框。
MatchWholeWord Variant 类型,可选。如果为 True,则查找操作只定位于完全匹配的单词,而并非长单词中的部分文字。相当于“查找和替换”对话框中的“全字匹配”复选框。
MatchWildcards Variant 类型,可选。如果为 True,则查找的文字包含特殊搜索操作符。相当于“查找和替换”对话框中的“使用通配符”复选框。
MatchSoundsLike Variant 类型,可选。如果为 True,则查找操作定位于与要查找的文字发音相近的单词。相当于“查找和替换”对话框中的“同音”复选框。
MatchAllWordForms Variant 类型,可选。如果为 True,则查找操作定位于要查找的文字的所有形式(例如,查找“sit”的同时,还查找“sitting”和“sat”),相当于“查找和替换”对话框中的“查找单词的各种形式”复选框。
Forward Variant 类型,可选。如果为 True,则向下(向文档尾部)搜索。
Wrap Variant 类型,可选。如果搜索从不是文档的起始位置开始,并已搜索到文档的末尾(如 Forward 设置为 False,则相反),用本参数控制接下来的操作。当存在选定内容或区域,而又没有在该选定内容或区域中找到搜索文字时,也可用本参数控制接下来的操作。可取下列 WdFindWrap 常量之一。
WdFindWrap 可以是下列 WdFindWrap 常量之一:
wdFindAsk 搜索完选定内容或者区域后,Microsoft Word 会显示一条消息,询问是否搜索文档的其他部分。
wdFindContinue 到达搜索区域的开始或者结尾时,继续执行查找操作。
wdFindStop 到达搜索区域的开始或者结尾时,停止执行查找操作。
Format Variant 类型,可选。如果为 True,则查找操作定位于格式或带格式的文本,而不是查找文本。
ReplaceWith Variant 类型,可选。替换文字。若要删除由 Find 参数指定的文字,可使用空字符串 ("")。与 Find 参数相似,本参数也可以指定特殊的字符和高级搜索条件。若要将图形对象或者其他非文本项指定为替换内容,可将这些项置于“剪贴板”上,然后将 ReplaceWith 指定为“^c”。
Replace Variant 类型,可选。指定执行替换的个数:一个、全部或者不替换。可取下列 WdReplace 常量之一。
WdReplace 可以是下列 WdReplace 常量之一:
wdReplaceAll
wdReplaceNone
wdReplaceOne
MatchKashida Variant 类型,可选。如果为 True,则查找结果应与阿拉伯语文档中区分 kashidas 的文本相匹配。由于选择或安装的语言支持不同(例如,英语(美国)),此参数可能不可用。
MatchDiacritics Variant 类型,可选。如果为 True,则查找操作在从右向左的语言的文档中按照匹配音调符号来匹配文字。由于选择或安装的语言支持不同(例如,英语(美国)),此参数可能不可用。
MatchAlefHamza Variant 类型,可选。如果为 True,则在阿拉伯语文档中,查找内容应与区分 Alef Hamzas 的文本相匹配。由于选择或安装的语言支持不同(例如,英语(美国)),此参数可能不可用。
MatchControl Variant 类型,可选。如果为 True,则在从右向左的语言的文档中,查找内容应与区分双向控制字符的文本相匹配。由于选择或安装的语言支持不同(例如,英语(美国)),此参数可能不可用。
说明
如果 MatchWildcards 为 True,可为 FindText 参数指定通配符和其他高级搜索准则,例如,“*(ing)”查找任何以“ing”结尾的单词。
若要搜索符号字符,可键入脱字符号 (^)、零 (0),然后键入符号字符的代码。例如,“^0151”对应一条长划线 (—)。
除非另外指定,否则替换文本将沿用文档中被替换文本的格式。例如,如果用“xyz”替换字符串“abc”,那么加粗“abc”将被加粗字符串“xyz”所替换。
另外,如果 MatchCase 为 False,那么查找到的大写文本将被大写的替换文本替换,而无论搜索文本和替换文本是否大小写。上例中,“ABC”将被“XYZ”替换。
===================================
应用于 Dialog 和 KeyBinding 对象的 Execute 方法。
===================================
对于 Dialog 对象:应用 Microsoft Word 对话框的当前设置。
对于 KeyBinding 对象:运行与指定的组合键相关的命令。
expression.Execute
expression 必需。该表达式返回以上一个对象。
================================
应用于 MailMerge 对象的 Execute 方法。
================================
执行指定的邮件合并操作。
expression.Execute(Pause)
expression 必需。该表达式返回以上一个对象。
Pause Variant 类型,可选。如果为 True,则会在找到一个邮件合并错误时,暂停 Microsoft Word 的运行并显示一个疑难解答对话框;如果为 False,则会报告新文档中的错误。
===================================
示例
==================================
当应用于 Find 对象时。
本示例查找并选择下一个“library”。
With Selection.Find
.ClearFormatting
.MatchWholeWord = True
.MatchCase = False
.Execute FindText:="library"
End With
===================================
本示例在活动文档中查找所有的“hi”,并且将其替换为“hello”。
Set myRange = ActiveDocument.Content
myRange.Find.Execute FindText:="hi", _
ReplaceWith:="hello", Replace:=wdReplaceAll
=====================================
当应用于 Dialog 对象时。
下面的示例激活“段落”对话框的“换行和分页”选项卡中的“与下段同页”复选框。
With Dialogs(wdDialogFormatParagraph)
.KeepWithNext = 1
.Execute
End With
=================================
当应用于 KeyBinding 对象时。
本示例将 Ctrl+Shift+C 组合键指定给 FileClose 命令,然后执行这个组合键(关闭当前文档)。
CustomizationContext = ActiveDocument.AttachedTemplate
Keybindings.Add KeyCode:=BuildKeyCode(wdKeyControl, _
wdKeyShift, wdKeyC), KeyCategory:=wdKeyCategoryCommand, _
Command:="FileClose"
FindKey(BuildKeyCode(wdKeyControl, wdKeyShift, wdKeyC)).Execute
======================================
当应用于 MailMerge 对象时。
如果活动文档是一个带有附加数据源的主文档,则本示例执行邮件合并。
Set myMerge = ActiveDocument.MailMerge
If myMerge.State = wdMainAndDataSource Then MyMerge.Execute