Ms word 如何在Microsoft Word中搜索和替换涉及的字段?
我有一个Word文档,其中包含引用类型的字段,以“[field].[field]”的形式出现——换句话说,两个字段之间有一个句点。我想用一个空格来全局替换它 Word提供了^d特殊字符来搜索字段,但由于某些原因,查询“^d.^d”找不到任何内容。但是,“^d”可以。然而,现在问题来了——为了保留字段代码,我应该指定什么作为替换文本?如果使用正则表达式,我可以使用诸如\1之类的“查找表达式”,但对于regexp(“通配符”)模式,不允许使用^d 我想我可以写一个宏…Torzaburo, 我建议您使用宏来执行此操作。您可以先录制宏,然后在宏中细化处理步骤 首先,通过导航到主页>段落>切换显示/隐藏段落符号来打开隐藏字符。此外,选择“全部”并打开字段代码(右键单击并选择“切换字段代码”) 除已打开的空白Word文档外,再打开一个新的空白Word文档。稍后您将使用该文档。开始宏录制,并按您所说的使用“^d”(字段代码)查找字段 找到字段后,仅复制括号内的字段文本,而不复制完整的字段引用。在宏仍在录制时,将ALT+TAB粘贴到新的空白文档中,并将字段代码作为纯文本粘贴到中 此时,对字段代码执行必要的查找和替换处理。突出显示已处理的字段代码,将ALT+TAB复制回原始文档,并粘贴回{}括号之间 停止宏录制。向宏VBA添加任何进一步的自定义处理Ms word 如何在Microsoft Word中搜索和替换涉及的字段?,ms-word,fieldcodes,Ms Word,Fieldcodes,我有一个Word文档,其中包含引用类型的字段,以“[field].[field]”的形式出现——换句话说,两个字段之间有一个句点。我想用一个空格来全局替换它 Word提供了^d特殊字符来搜索字段,但由于某些原因,查询“^d.^d”找不到任何内容。但是,“^d”可以。然而,现在问题来了——为了保留字段代码,我应该指定什么作为替换文本?如果使用正则表达式,我可以使用诸如\1之类的“查找表达式”,但对于regexp(“通配符”)模式,不允许使用^d 我想我可以写一个宏…Torzaburo, 我建议您使
选择全部并重新切换字段代码。更新字段代码。通常在查找字段时最好使用宏路径,因为正如您所说,Word使用的查找算法与您希望的字段查找算法不一样 但是,如果您确切地知道字段包含什么,您可以指定一个可能会工作的搜索模式(但不是在通配符模式下) 例如,如果要查找地物编号字段对,例如
{ STYLEREF 1 \s }.{ SEQ Figure \* ARABIC \s 1 }
(通常是文档中所有位置的同一组字段)
如果您真的只需要查找以下内容:
{ STYLEREF 1 \s }.<any field>
或
如果需要更精确,还可以拼写第二个字段
“^d”仅用于查找字段开头,而不用于查找字段结尾
很遗憾,^w希望找到至少一个空白字符,否则它将更健壮
^19^wSTYLEREF^w1^w\s^w^21.^19
也许其他人知道如何在不使用通配符的情况下解决此问题?您不需要宏。只需使用Alt+F9打开所有字段代码。然后查找并替换您要更改的内容。完成替换后,再次使用Alt+F9关闭字段代码。我想添加到Bibadia的解决方案中 索引项字段的示例;我们想更改拼写错误的名称
- 确保显示隐藏格式(使用SHIFT+CTRL+F8切换)
- 确保未选择通配符选项。若要搜索字段,请使用开头和结尾字段大括号代码(根据Bibadia的建议,可以选择使用^w作为空格):^19 XE“Deo,John”^21
- 替换将无法识别字段大括号字符,但允许插入剪贴板的内容。;)。为此,请在文本中插入正确的条目。按CTRL+F9键插入字段并键入:XE“Doe,John” XE "Doe, John"
- 选择上面的字段并复制
- 在“替换”框中使用^c
- 点击全部替换
塔达 这件事来晚了,对贝丝来说可能太晚了(对不起,贝丝)。这可能不是Beth想要的。但对任何感兴趣的人来说 听起来Beth可能在整个文档中使用
INSERT CAPTION
(因此存在字段代码)创建了标题。这意味着这些标题将以标题样式(自动)创建
要将此类标题中的分隔符“.”全局替换为“”(空格),请执行两个步骤:
[1] 转到REFERENCES |插入标题
,然后单击编号
,并用“EM-DASH”替换分隔符
”。这将替换标题
窗口中选定标签标题中的所有分隔符。如果文档中使用了其他标签(如图),请逐个选择其他标签并重复此过程
[2] 查找/替换搜索样式标题中的特殊字符“em dash”(^+)并替换为“”。单击“全部替换”
瞧
注意:这假定em-dash不会出现在标题文本的任何地方。如果是这样的话,那么您需要在前后进行“小提琴”操作,以确保上面的全局替换不会触及这些em破折号
“pre-fiddle”是跨字幕进行全局查找/替换,将em破折号(^+)替换为任何字幕文本中都不会出现的其他字符串(例如“em-dash”)。然后按照上述步骤更改分隔符。最后,“后期处理”是通过将字符串“em-DASH”全局替换为实际的em-DASH字符“^+”,来恢复字幕中的em-DASH 免责声明:我不是这个解决方案的创始人,但它干净优雅,我认为应该包括在这里: (改编自):
^19^wSTYLEREF^w1^w\s^w^21.^19
^19 XE "Deo, John" ^21
XE "Doe, John"
^c