هنگامی که با اسناد کار می کنید - به ویژه اسناد طولانی که توسط شخص دیگری ایجاد شده است - ممکن است نیاز به حذف تمام فیلدهای سند داشته باشید. پاسخ به اینکه چگونه این کار را انجام می دهید تقریباً به طور کامل به منظور شما از "حذف" یک فیلد بستگی دارد.
اگر منظورتان این است که می خواهید از شر فیلدها خلاص شوید و آنها را با متن ساده ای جایگزین کنید که نتیجه فیلد را نشان می دهد، ساده ترین روش این است که کل سند را انتخاب کنید (Ctrl+A) و سپس Ctrl+Shift+F9 را فشار دهید تا "لغو پیوند" فیلدها هر جایی که یک فیلد وجود داشت، فیلد حذف می شود و با نتیجه فیلد جایگزین می شود.
اگر به سادگی می خواهید از شر همه فیلدها خلاص شوید و اهمیتی به جایگزینی آنها با چیزی ندارید، می توانید از قابلیت Find and Replace Word استفاده کنید. مراحل زیر را دنبال کنید:

شکل 1. تب Replace از کادر محاوره ای Find and Replace.
- Alt+F9 را فشار دهید. با این کار همه کدهای فیلد در سند شما به جای نتایج آن فیلدها قابل مشاهده است.
- Ctrl+H را فشار دهید. Word تب Replace را در کادر گفتگوی Find and Replace نمایش می دهد. (شکل 1 را ببینید.)
- در کادر Find What، ^d را به عنوان چیزی که جستجو می کنید وارد کنید (مطمئن شوید که از d کوچک استفاده می کنید). این کدی است که Word آن را به عنوان "هر فیلد" می فهمد.
- مطمئن شوید که کادر Replace With خالی است.
- روی Replace All کلیک کنید.
اکنون تمام فیلدهای سند شما باید از بین رفته باشند. اگر مجبور هستید اغلب به این روش از شر فیلدها خلاص شوید، منطقی است که یک ماکرو ایجاد کنید که کار را برای شما انجام دهد. زیر یک ماکرو ساده و کوتاه است که تمام قسمت های سند شما را طی می کند و تمام فیلدها را حذف می کند.
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
البته میتوانید ماکرو را به نوار ابزار دسترسی سریع یا یک کلید میانبر اختصاص دهید تا بتوان در سریعترین زمان ممکن آن را وارد عمل کرد.
لازم به ذکر است که اگر سند شما دارای چندین جعبه متن باشد، این ماکرو فقط فیلدها را از سند اصلی و اولین جعبه متن حذف می کند. (نپرسید چرا، به نظر می رسد در 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