正则表达式替换Word宏

时间:2015-12-17 20:40:38

标签: regex vba ms-word word-vba

是否可以在Word VBA中使用RegExp个对象的替换模式?我可以在文档中搜索带有一堆括号的模式,并将其替换为\4 \2之类的内容吗? (我尝试过,但它使用了文字字符串。)

2 个答案:

答案 0 :(得分:1)

有关RegEx with VBA的信息,请参阅this answer。虽然这个具体的答案是专门为Excel VBA编写的,但它仍然适用于单词。

在示例代码中,他设置了MyRange = ActiveSheet.Range("A1")而不是Set MyRange = ActiveDocument.Range(Start:=0, End:=Selection.End),并将MyRange.Value替换为MyRange.Text

现有答案是一个强大的工具。有时,查看所有其他Microsoft应用程序的Excel VBA代码会很有帮助,因为Excel是最常编写代码的工具。

答案 1 :(得分:1)

Word本身不支持RegEx。它有自己的通配符功能。这类似于RegEx但不完全相同。您可以通过单击“替换”对话框中的“更多”(Ctrl + H),激活“通配符”复选框,然后查看“特殊”中的列表来查看可能性。如果您在互联网上搜索一组术语,例如 - 单词查找替换通配符 - 您将会看到很多示例和讨论。

JDB_Dragon建议的方法通常在Word中通常不令人满意,因为仅仅操作字符串然后将其写回文档会丢失所有格式。