Коды полей могут быть весьма полезны в документе. В какой-то момент вы можете захотеть поделиться с кем-нибудь кодом поля. Возможно, вы готовите учебный документ, в котором коды должны отображаться в виде текста, или вы хотите отправить код поля кому-нибудь по электронной почте.

Проблема в том, что если вы просто копируете и вставляете код поля, вставляется не фактический код; это результат этого кода поля. Вы, конечно, можете отобразить код поля (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), я подготовил специальную страницу, содержащую полезную информацию.

link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (13300) относится к Microsoft Word 2007, 2010, 2013, 2016, 2019 и Word в Office 365. Вы можете найти версию этого совета для старый интерфейс меню Word здесь:

link: / word-Copying_and_Pasting_Field_Codes [Копирование и вставка кодов полей].