单词VBA突出显示特定文本(但不相似)

时间:2017-10-25 13:53:08

标签: vba word-vba

首先,是的,我已经看过其他关于在Word文档中突出显示文本的帖子。这个问题不同,因为我希望从结果中排除非常相似的文本字符串。

所以我在下面的脚本中会突出显示某些字符串。问题在于我正在搜索代码,而在创建变量时使用的约定是使用字符串I' m搜索并添加@符号以创建变量名称。我只想要在开头没有@符号的实例。例如,如果我正在寻找狗,我想强调狗,或狗,但特别排除@dog。我已经尝试修改.Text标准,但似乎无法让它变得非常正确。希望这对某人来说是一个简单的答案。相关代码如下;提前谢谢。

  Set rng = doc.Range
  With rng.Find
    .ClearFormatting
    .Text = VBA.Split(strSearchTerms, strDelim)(dblLCV)
    .Replacement.ClearFormatting
    .Replacement.Highlight = True
    .Replacement.Text = "^&"
    .Forward = True
    .Wrap = wdFindContinue
    .Format = True
    .MatchCase = False
    .MatchWholeWord = True
    .MatchWildcards = True
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    .Execute Replace:=wdReplaceAll
  End With

到目前为止,最接近的结果是使用

.Text = "[!@]" & VBA.Split(strSearchTerms, strDelim)(dblLCV)

但是这只是突出显示除@String之外的所有内容。

2 个答案:

答案 0 :(得分:0)

您需要转义from elasticsearch import Elasticsearch es = Elasticsearch([{'host': 'host_ip', 'port': 9200}]) if es.indices.exists(index = 'index_name') #set a condition here 符号,它是一个特殊字符。 @应该完成这项工作。

答案 1 :(得分:0)

经过一些试验和错误,这让我得到了我需要的东西:

.Text = "[,. ]{1,}" & VBA.Split(strSearchTerms, strDelim)(dblLCV) & ">"

我用已知的东西取代了@标准,因为我无法得到"而不是@"工作的逻辑。希望这有助于其他人!