Vba 为交叉引用添加括号

Vba 为交叉引用添加括号,vba,ms-word,Vba,Ms Word,我想在Word文档中的所有交叉引用中添加括号。我已经创建了一个宏来定义文本的样式,但是我希望这个宏也能在每次交叉引用之前和之后自动添加 我在“查找和替换”中尝试过这样做,但似乎找不到方法 任何帮助都将不胜感激。您只需简单的查找/替换即可做到这一点!按Alt-F9,然后使用: Find = ^d REF Replace = (^&) 完成后再次按Alt-F9。请花点时间阅读网站上关于如何有效询问堆栈溢出问题的内容。问题应该包含完整的相关信息,包括作为起点的代码。您可以使用问题下的链接添加

我想在Word文档中的所有交叉引用中添加括号。我已经创建了一个宏来定义文本的样式,但是我希望这个宏也能在每次交叉引用之前和之后自动添加

我在“查找和替换”中尝试过这样做,但似乎找不到方法


任何帮助都将不胜感激。

您只需简单的查找/替换即可做到这一点!按Alt-F9,然后使用:

Find = ^d REF
Replace = (^&)

完成后再次按Alt-F9。

请花点时间阅读网站上关于如何有效询问堆栈溢出问题的内容。问题应该包含完整的相关信息,包括作为起点的代码。您可以使用问题下的链接添加更多信息。您需要迭代fields集合并测试每个字段是否为引用类型。当您找到referernce类型的字段时,还需要检查字段的代码,因为并非所有引用字段都是交叉引用。特别是对于交叉引用,您需要检查代码文本是否包含字符串_ref这非常有效-谢谢。但是,我在使用此解决方案时遇到的问题是,每次运行宏时,它都会添加括号,因此我最终会得到一些两边都有多个括号的交叉引用。有没有一种方法可以找到交叉引用并用一组以上的括号替换它?也许你应该在完成其他编辑之前先离开这个过程。或者,您可以选择要处理的范围,即在运行查找/替换之前没有括号的范围。如果这两个选项都不合适,您将需要两个额外的Find/Replace,将成对的开始/结束圆括号替换为单个开始/结束圆括号。