ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
214 visibility
موضوع: آفیس توسط:

هنگامی که با اسناد کار می کنید - به ویژه اسناد طولانی که توسط شخص دیگری ایجاد شده است - ممکن است نیاز به حذف تمام فیلدهای سند داشته باشید. پاسخ به اینکه چگونه این کار را انجام می دهید تقریباً به طور کامل به منظور شما از "حذف" یک فیلد بستگی دارد.

اگر منظورتان این است که می خواهید از شر فیلدها خلاص شوید و آنها را با متن ساده ای جایگزین کنید که نتیجه فیلد را نشان می دهد، ساده ترین روش این است که کل سند را انتخاب کنید (Ctrl+A) و سپس Ctrl+Shift+F9 را فشار دهید تا "لغو پیوند" فیلدها هر جایی که یک فیلد وجود داشت، فیلد حذف می شود و با نتیجه فیلد جایگزین می شود.

اگر به سادگی می خواهید از شر همه فیلدها خلاص شوید و اهمیتی به جایگزینی آنها با چیزی ندارید، می توانید از قابلیت Find and Replace Word استفاده کنید. مراحل زیر را دنبال کنید:

image

شکل 1. تب Replace از کادر محاوره ای Find and Replace.

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

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
1 پاسخ 104 visibility

31.4k سوال

16.7k پاسخ

620 دیدگاه

13.8k کاربر

25 نفر آنلاین
1 عضو و 24 مهمان در سایت حاضرند
اعضای حاضر در سایت

بازدید امروز: 95819
بازدید دیروز: 33245
بازدید کل: 33859394
...