Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
突出显示Microsoft Word的VBA宏中的文本_Vba_Replace_Highlight_Ms Word - Fatal编程技术网

突出显示Microsoft Word的VBA宏中的文本

突出显示Microsoft Word的VBA宏中的文本,vba,replace,highlight,ms-word,Vba,Replace,Highlight,Ms Word,我正在尝试创建一个宏来搜索文档,并突出显示出现的每个空格,单词“for”,然后是另一个类似“for”的空格,使用此站点的修改代码,我得到了以下结果: Sub findfunction() If (findHL(ActiveDocument.Content, "[ for ]")) = True Then MsgBox "Highlight Comma's and Coordinating Conjunctions Done", vbInformation + vbOKOnly, "Highlig

我正在尝试创建一个宏来搜索文档,并突出显示出现的每个空格,单词“for”,然后是另一个类似“for”的空格,使用此站点的修改代码,我得到了以下结果:

Sub findfunction()
If (findHL(ActiveDocument.Content, "[ for ]")) = True Then MsgBox "Highlight Comma's and Coordinating Conjunctions Done", vbInformation + vbOKOnly, "Highlight Result"
End Sub

Function findHL(r As Range, s As String) As Boolean
Options.DefaultHighlightColorIndex = wdYellow
r.Find.Replacement.Highlight = True
r.Find.Execute MatchWholeWord:=True, FindText:=s, MatchWildcards:=True, Wrap:=wdFindContinue, Format:=True, replacewith:="", Replace:=wdReplaceAll
findHL = True
End Function

问题是,它只会突出显示字母f、o和r的每一次出现。我希望它只在找到序列“for”时突出显示,而不是单个字符。我是新来的,我不知道从这里到哪里去,所以任何帮助都将不胜感激。谢谢:D

不需要通配符。搜索字符串应为“for”,并且匹配通配符:=False

Sub findfunction()
    If (findHL(ActiveDocument.Content, " for ")) = True Then
        MsgBox "Highlight Comma's and Coordinating Conjunctions Done", vbInformation + vbOKOnly, "Highlight Result"
    End If
End Sub

Function findHL(r As Range, s As String) As Boolean
    Options.DefaultHighlightColorIndex = wdYellow
    r.Find.replacement.Highlight = True
    r.Find.Execute MatchWholeWord:=True, FindText:=s, MatchWildcards:=False, Wrap:=wdFindContinue, Format:=True, replacewith:="", Replace:=wdReplaceAll
    findHL = True
End Function
查证