删除所有字段(Microsoft Word)
当您使用文档时,尤其是别人创建的长文档时,可能需要删除文档中的所有字段。如何执行此操作的答案几乎完全取决于“删除”字段的含义。
如果您要摆脱这些字段并用表示该字段结果的纯文本替换它们,那么最简单的方法是选择整个文档(Ctrl + A),然后按Ctrl + Shift + F9 “取消链接”字段。每个地方都有一个字段,该字段将被删除并替换为该字段的结果。
如果您只是想摆脱所有字段并且不关心它们被任何内容替换,则可以使用Word的“查找和替换”功能。请按照下列步骤操作:
。按Alt + F9。这将使文档中的所有域代码可见,而不是这些域的结果。
。按Ctrl + H。 Word将显示“查找和替换”对话框的“替换”选项卡。 (请参见图1。)
。在“查找内容”框中,输入^ d作为要搜索的内容(确保使用小写的d)。这是Word理解为“任何字段”的代码。
。确保“替换为”框为空。
。单击全部替换。
现在,文档中的所有字段都将消失。如果您必须经常使用这种方式来删除字段,则可以创建一个宏来为您处理任务。以下是一个简单的简短宏,它遍历了文档的所有部分并删除了所有字段。
Sub DeleteFields() Dim rng As Range For Each rng In ActiveDocument.StoryRanges With rng.Fields While .Count > 0 .Item(1).Delete Wend End With Next End Sub
当然,您可以将宏分配给`link:/ wordribbon-Adding_Tools_to_the_Quick_Access_Toolbar [Quick Access Toolbar]`或快捷键,以便可以尽快将其调用。
应该注意的是,如果您的文档有多个文本框,则此宏只会从主文档和第一个文本框中删除字段。 (不要问为什么;在Word中似乎有些古怪。)如果您不仅仅在第一个文本框中包含字段,那么您将需要另一种宏方法:
Sub DeleteAllFields() Dim rng As Range Dim shp As Shape Dim TxtFrame As TextFrame For Each rng In ActiveDocument.StoryRanges With rng.Fields While .Count > 0 .Item(1).Delete Wend End With For Each shp In rng.ShapeRange Set TxtFrame = shp.TextFrame If Not TxtFrame Is Nothing Then If TxtFrame.HasText Then With TxtFrame.TextRange.Fields While .Count > 0 .Item(1).Delete Wend End With End If End If Next shp Next rng End Sub
注意:
如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。
_WordTips_是您进行经济有效的Microsoft Word培训的来源。