簡體   English   中英

在 MS Word VBA 中組合通配符搜索

[英]Combining wildcard searches in MS Word VBA

有沒有辦法將兩個搜索字符串合二為一? 在下面的示例中...用現有的 ([AZ]{2,}) 注釋掉 <[AZ]{1,}[az][AZ]{2,}>

正在搜索的文本將使用大寫和小寫/混合首字母縮略詞:可持續發展計划 ( SDP ) 2018 至 2030 年目標,因為它們適用於以下五個關鍵案例和需求研究:1) 健康 2) 教育 3) 青少年 4) 生殖和孕產婦和新生兒健康 ( RMNH ) 和 5) 水環境衛生 ( WASH )....財政部和規划部 ( MoPF )

我試圖避免使用 RegEx 學習!

With MyRange.Find

'<[A-Z]{1,}[a-z][A-Z]{2,}>

        .Text = "\([A-Z]{2,}\)"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindStop
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
        .Execute

While .Execute

簡單的答案是 MS Word Find 命令不支持使用邏輯運算符在單個搜索中使用多個通配符模式。 但是,您可以使用圓括號“()”對多個模式進行分組,但它會找到完整的模式,在這種情況下實現“與”邏輯。 為了更靈活的搜索,在這種情況下,您應該使用帶有 VBA 的正則表達式。 您可以通過微軟官方網站 go 了解 Wildcard 支持的功能

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM