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

یکی از مزایای فیلدها این است که می توانید اطلاعات پویا را در سند خود وارد کنید. وقتی فیلد به‌روزرسانی می‌شود، با هر اطلاعاتی که نسبت به فیلد در حال استفاده فعلی است جایگزین می‌شود. به عنوان مثال، می توانید از فیلد NumWords برای درج تعداد کلمات در سند استفاده کنید. وقتی فیلد به‌روزرسانی می‌شود، با هر تعداد کلمه در سند جایگزین می‌شود.

اگر می‌خواهید تعداد کلمات یک بخش را بیابید و آن را به صورت پویا در یک سند قرار دهید، پس شانسی ندارید. هیچ فیلدی وجود ندارد که این اطلاعات را برگرداند. می‌توانید با انتخاب متن در بخش و سپس انتخاب ابزار Word Count به صورت دستی آن را پیدا کنید، اما بدیهی است که این تمایل به داشتن مقداری که می‌تواند در سند شما درج شود و به‌طور خودکار به‌روزرسانی شود را برآورده نمی‌کند.

این بدان معناست که برای بدست آوردن تعداد کلمات مورد نظر باید به یک ماکرو تکیه کنید. اگر فقط می خواهید تعداد کلمات هر بخش از سند خود را بدانید، ماکرو زیر می تواند مفید باشد.

Sub WordCount()
    Dim NumSec As Integer
    Dim S As Integer
    Dim Summary As String

    NumSec = ActiveDocument.Sections.Count
    Summary = "Word Count" & vbCrLf

    For S = 1 To NumSec
        Summary = Summary & "Section " & S & ": " _
          & ActiveDocument.Sections(S).Range.Words.Count _
          & vbCrLf
    Next

    Summary = Summary & "Document: " & _
      ActiveDocument.Range.Words.Count
    MsgBox Summary
End Sub

این به سادگی از هر بخش عبور می کند، تعداد کلمات آن بخش را تعیین می کند و اطلاعات خلاصه را در یک جعبه پیام نمایش می دهد. این روشی برای درج پویا اطلاعات در سند ارائه نمی دهد، اما نشان می دهد که چگونه می توانید تعداد کلمات یک بخش را پیدا کنید.

تغییر در تکنیک به شما امکان می دهد تا به طور خودکار تعداد کلمات را برای یک بخش خاص در محل یک نشانک در سند خود وارد کنید. فرض کنید شما یک نشانک به نام "WordCount" دارید که آن را تعریف کرده اید. این نشانک مکانی را مشخص می کند که در بخش دوم سند شما تعداد کلمات را می خواهید. ماکرو زیر تعداد کلمات را برای بخش مشخص شده تعیین می کند. و سپس متن را در محل نشانک وارد کنید.

Sub InsertWordCount()
    Dim oRange As Word.Range
    Dim sBookmarkName As String
    Dim sTemp As String

    sBookmarkName = "WordCount"
    With ActiveDocument
        sTemp = Format(.Sections(2).Range.Words.Count, "0")
        Set oRange = .Bookmarks(sBookmarkName).Range
        oRange.Delete
        oRange.InsertAfter Text:=sTemp
        .Bookmarks.Add Name:=sBookmarkName, Range:=oRange
    End With
End Sub

ماکرو را می توان به راحتی از ماکروهای دیگر فراخوانی کرد، مانند ماکرو که هنگام باز کردن، ذخیره یا چاپ سند اجرا می شود. به این ترتیب تعداد کلمات در تمام زمان‌های عادی که یک فیلد به‌طور خودکار به‌روزرسانی می‌شود، به‌روزرسانی می‌شود.

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

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

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

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

سوالات مشابه

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

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

279 نفر آنلاین
0 عضو و 279 مهمان در سایت حاضرند
بازدید امروز: 10259
بازدید دیروز: 25180
بازدید کل: 20347610
...