کدهای فیلد می توانند در یک سند بسیار مفید باشند. در برخی موارد، ممکن است بخواهید یک کد فیلد را با شخصی به اشتراک بگذارید. شاید در حال تهیه یک سند آموزشی هستید که باید کدها را به صورت متن نشان دهد، یا می خواهید کد فیلد را برای شخص دیگری ایمیل کنید.
مشکل این است که اگر به سادگی کد فیلد را کپی و جایگذاری کنید، این کد واقعی نیست که جایگذاری شده است، بلکه نتیجه آن کد فیلد است. البته می توانید کد فیلد (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 ) برای چسباندن کد فیلد در یک سند، یک ایمیل یا برنامه دیگر استفاده کنید.