Regex 在Word宏中替换正则表达式
是否可以对Word VBA中的Regex 在Word宏中替换正则表达式,regex,vba,ms-word,Regex,Vba,Ms Word,是否可以对Word VBA中的RegExp对象使用替换模式?我是否可以在文档中搜索一个带有一串括号的模式,并将其替换为类似\4\2?(我试过了,但它使用了文本字符串。)有关带VBA的正则表达式的信息,请参阅。虽然这个具体的答案是专门为Excel VBA编写的,但它仍然适用于word 在示例代码中,他设置了MyRange=ActiveSheet.Range(“A1”),而您可以这样做,Set MyRange=ActiveDocument.Range(Start:=0,End:=Selection.
RegExp
对象使用替换模式?我是否可以在文档中搜索一个带有一串括号的模式,并将其替换为类似\4\2
?(我试过了,但它使用了文本字符串。)有关带VBA的正则表达式的信息,请参阅。虽然这个具体的答案是专门为Excel VBA编写的,但它仍然适用于word
在示例代码中,他设置了MyRange=ActiveSheet.Range(“A1”)
,而您可以这样做,Set MyRange=ActiveDocument.Range(Start:=0,End:=Selection.End)
并将MyRange.Value
替换为MyRange.Text
现有答案是一个强大的工具。有时,查看所有其他Microsoft应用程序的Excel VBA代码很有帮助,因为Excel是为其编写代码最多的工具。Word本身不支持正则表达式。它有自己的通配符功能。这与正则表达式类似,但不完全相同。您可以通过单击替换对话框(Ctrl+H)中的“更多”,激活“通配符”复选框,然后查看“特殊”中的列表来查看可能性。如果你在互联网上搜索一组术语,如-Word Find Replace Wildcard,你会发现很多例子和讨论
JDB_Dragon建议的方法在Word中通常不令人满意,因为只操作字符串然后将其写回文档会丢失所有格式。Word不会,但Word中的VBA会。这就是为什么我指定了
RegExp
对象。不,VBA没有RegEx。您可以添加对为VBA代码提供正则表达式的库的引用,但它不是VBA的一部分。如果分发代码,则需要确保目标计算机具有该库,否则代码无法运行。而且,正如我所说,如果保留或应用单词格式是必要的,正则表达式将不起作用;我想,如果我在勾选一个方框后能够在VBA中使用它,那么它一定是VBA的一部分(我想当我第一次提到它时,应该已经很清楚我指的是什么)。不,格式与我的情况无关。我认为中的“示例4”符合我的要求,对吗?谢谢,我试试看。