域代码在文档中可能会很有帮助。在某些时候,您可能希望与某人共享域代码。也许您正在准备一份培训文档,需要以文本形式显示代码,或者您想通过电子邮件将域代码发送给其他人。

问题是,如果您仅复制并粘贴域代码,则不是粘贴的实际代码。这是该域代码的结果。当然,您可以显示域代码(Shift + F9),将插入点放置在大括号内,仔细选择除右大括号以外的所有字符,然后将其复制到剪贴板。

但是,这种方法可能会非常麻烦。更好的方法是使用宏显示域代码并将所需的信息填充到剪贴板中。下面的宏就是这样做的:

Sub StuffFieldCode()

Dim sField As String     Dim sTextCode As String     Dim bSFC As Boolean     Dim MyData As DataObject     Dim sTemp As String     Dim J As Integer

Application.ScreenUpdating = False

If Selection.Fields.Count = 1 Then         bSFC = Selection.Fields.Item(1).ShowCodes         Selection.Fields.Item(1).ShowCodes = True         sField = Selection.Text         sTextCode = ""

For J = 1 To Len(sField)

sTemp = Mid(sField, J, 1)

Select Case sTemp                 Case Chr(19)

sTemp = "{"

Case Chr(21)

sTemp = "}"

Case vbCr                     sTemp = ""

End Select             sTextCode = sTextCode & sTemp         Next J

Set MyData = New DataObject         MyData.SetText sTextCode         MyData.PutInClipboard                  Selection.Fields.Item(1).ShowCodes = bSFC     End If

Application.ScreenUpdating = True End Sub

宏首先关闭屏幕更新,然后检查以确保所选内容仅包含一个字段。 (在运行宏之前,您应该选择所需的字段。)如果它确实包含单个字段,那么将显示该字段的域代码,将其分配给变量(sField),然后逐字符分开。如果要检查的字符是开放式大括号Chr(19),则将其替换为常规的开放式大括号。如果它是一个闭合的字段括号-Chr(21),则将其替换为常规的闭合括号。最后,如果字符是段落结尾标记(vbCr),则忽略该字符。

最后,PutInClipboard方法用于将域代码的文本版本填充到剪贴板中。然后,您可以使用常规粘贴命令(Ctrl + V)将域代码粘贴到文档,电子邮件或其他程序中。

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(13300)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。 Word的旧菜单界面在这里: