четверг, 14 февраля 2013 г.

Копирование кода поля в буфер обмена

Часто сталкиваясь с необходимостью копирования кодов полей из Word, я решил упростить себе процесс и, посоветовавшись с сетевым разумом, сделал себе простенький макрос:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Sub CopyFieldCodes() If Selection.Range.Fields.Count = 0 Then Exit Sub Dim bFld As Boolean bFld = ActiveWindow.View.ShowFieldCodes ActiveWindow.View.ShowFieldCodes = True Dim s As String s = Replace(Replace(Selection.Text, Chr(19), "{"), Chr(21), "}") Debug.Print s ActiveWindow.View.ShowFieldCodes = bFld On Error Resume Next Dim dobj As New DataObject dobj.SetText s dobj.PutInClipboard Set dobj = Nothing If Err.Number <> 0 Then MsgBox "Невозможно скопировать код в буфер обмена", vbOK + vbCritical, "Код поля в буфер" Else MsgBox "Код поля скопирован в буфер обмена", vbOK + vbInformation, "Код поля в буфер" End If End Sub
Чтобы код работал, нужно подключить Microsoft Forms 2.0 Object Library через меню Tools>References...

Комментариев нет:

Отправить комментарий