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

جی موقعیتی دارد که در آن یک فیلد ویژگی سند در یک جعبه متن در یک سند درج شده است. استفاده از Ctrl+A و سپس فشردن F9 باید تمام فیلدهای سند ویژگی را در سند به روز کند، اما این یک فیلد با عمل جی به روز نمی شود. فرآیند به روز رسانی فیلدها در سرصفحه ها و پاورقی ها همچنین فیلد داخل متن را به روز نمی کند. جی می‌پرسد آیا راهی برای به‌روزرسانی دستی فیلد با استفاده از صفحه‌کلید وجود دارد یا راهی برای به‌روزرسانی آن با استفاده از یک ماکرو وجود دارد.

فیلدها را می توان در بسیاری از عناصر سند قرار داد. به عنوان مثال، آنها می توانند در متن سند اصلی، در جعبه های متن، در سرصفحه ها یا پاورقی ها، در AutoShapes یا در جداول خاص باشند. در حالی که فشار دادن Ctrl+A تمام سند شما را انتخاب می کند، با فشار دادن F9 فیلدها در تمام عناصر سند به روز نمی شوند. در عوض، برای انجام به روز رسانی باید از یک ماکرو استفاده کنید.

اگر به سادگی می خواهید یک ماکرو فیلدها را در هر یک از کادرهای متنی خود به روز کند، انجام این کار به اندازه کافی آسان است. ماکرو زیر از طریق هر یک از اشکال موجود در سند شما (شامل کادرهای متن و AutoShapes) مراحل می‌دهد و اگر شکل حاوی متن است، فیلدهای موجود در آن را به‌روزرسانی کنید.

Sub UpdateTBFields()
    Dim shp As Shape

    For Each shp In ActiveDocument.Shapes
        With shp.TextFrame
            If .HasText Then
                .TextRange.Fields.Update
            End If
        End With
    Next
End Sub

این ماکرو می تواند به یک میانبر صفحه کلید اختصاص داده شود تا بتوانید با لمس میانبر به راحتی فیلدها را به روز کنید. البته، ممکن است بخواهید یک ماکرو فراگیرتر ایجاد کنید که همه فیلدها را در هر کجا که هستند به روز می کند. (به یاد داشته باشید - فیلدها می توانند در هر تعداد از عناصر سند باشند.) در این صورت، نسخه فراگیرتر زیر را از ماکرو در نظر بگیرید.

Public Sub UpdateAllFields()
    Dim doc As Document
    Dim wnd As Window
    Dim lngMain As Long
    Dim lngSplit As Long
    Dim lngActPane As Long
    Dim rngStory As Range
    Dim TOC As TableOfContents
    Dim TOA As TableOfAuthorities
    Dim TOF As TableOfFigures
    Dim shp As Shape

    " Set Objects
    Set doc = ActiveDocument
    Set wnd = ActiveDocument.ActiveWindow

    " get Active Pane Number
    lngActPane = wnd.ActivePane.Index

    " Hold View Type of Main pane
    lngMain = wnd.Panes(1).View.Type

    " Hold SplitSpecial
    lngSplit = wnd.View.SplitSpecial

    " Get Rid of any split
    wnd.View.SplitSpecial = wdPaneNone

    " Set View to Normal
    wnd.View.Type = wdNormalView

    " Loop through each story in doc to update
    For Each rngStory In doc.StoryRanges
        If rngStory.StoryType = wdCommentsStory Then
            Application.DisplayAlerts = wdAlertsNone
            " Update fields
            rngStory.Fields.Update
            Application.DisplayAlerts = wdAlertsAll
        Else
            " Update fields
            rngStory.Fields.Update
        End If
    Next

    "Loop through text boxes and update
    For Each shp In doc.Shapes
        With shp.TextFrame
            If .HasText Then
                shp.TextFrame.TextRange.Fields.Update
            End If
        End With
    Next

    " Loop through TOC and update
    For Each TOC In doc.TablesOfContents
        TOC.Update
    Next

    " Loop through TOA and update
    For Each TOA In doc.TablesOfAuthorities
        TOA.Update
    Next

    " Loop through TOF and update
    For Each TOF In doc.TablesOfFigures
        TOF.Update
    Next

    " Return Split to original state
    wnd.View.SplitSpecial = lngSplit

    " Return main pane to original state
    wnd.Panes(1).View.Type = lngMain

    " Active proper pane
    wnd.Panes(lngActPane).Activate

    " Close and release all pointers
    Set wnd = Nothing
    Set doc = Nothing
End Sub
اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

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

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

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

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 44 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 25 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 25 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 26 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 40 visibility
ارسال شده در 25 تیر 1402 موضوع: آفیس توسط: Admin

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

391 نفر آنلاین
0 عضو و 391 مهمان در سایت حاضرند
بازدید امروز: 14382
بازدید دیروز: 25180
بازدید کل: 20351730
...