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

اندی تعجب می کند که آیا راهی برای "لیست" تنظیمات در یک الگو (حاشیه ها، فونت ها، توقف های تب و غیره) وجود دارد. او اطلاعات زیادی در مورد بازنشانی به پیش‌فرض دیده است، اما چیزی که به او نمی‌گوید تنظیمات واقعاً چه هستند. او خاطرنشان می‌کند که باز کردن یک الگو و نگاه کردن به آیتم‌های مختلف دشوار و جامع نیست.

متأسفانه هیچ راه آسانی برای انجام این کار در Word وجود ندارد. دلیل اصلی این است که لیست کاملی از تنظیمات ذخیره شده در قالب ها وجود ندارد و تعداد زیاد این تنظیمات می تواند بسیار دلهره آور باشد. بهترین کاری که می توانید انجام دهید این است که یک ماکرو ایجاد کنید که تنظیمات مورد نظر شما را بررسی کرده و سپس آنها را نمایش دهد.

به عنوان مثال، مجموعه ماکروهای زیر را در نظر بگیرید:

Sub TemplateSettings()
    Dim templatePath As String
    Dim fleName As String
    Dim str As String
    Dim sTemp As String

    " Select the template to be opened
    templatePath = Application.Templates(1).Path
    fleName = GetTemplateName(templatePath)
    If fleName = "" Then
        MsgBox "No template selected"
        Exit Sub
    End If

    Application.Documents.Open (fleName)

    str = ActiveDocument.Name & vbCr & vbCr

    sTemp = "Other"
    Select Case ActiveDocument.Sections(1).PageSetup.PaperSize
        Case wdPaperLetter
            sTemp = "Letter"
        Case wdPaperLegal
            sTemp = "Legal"
        Case wdPaperA4
            sTemp = "A4"
    End Select
    str = str & "Paper size: " & sTemp

    sTemp = "Landscape"
    If ActiveDocument.Sections(1).PageSetup.Orientation = wdOrientPortrait Then
        sTemp = "Portrait"
    End If
    str = str & "  Orientation: " & sTemp & vbCr

    str = str & "Margins " & marginsStr & vbCr
    str = str & vbCr & "User Defined Tab stops " & UserTabStops & vbCr
    str = str & vbCr & "User defined styles " & userStyles

    Application.Documents(fleName).Close SaveChanges:=wdDoNotSaveChanges

    MsgBox str
End Sub
Function GetTemplateName(templatePath As String) As String
    Dim dlg As FileDialog
    Set dlg = Application.FileDialog( _
      FileDialogType:=msoFileDialogFilePicker)
    With dlg
        .AllowMultiSelect = False
        .InitialFileName = templatePath
        .Filters.Clear
        .Filters.Add "Templates", "*.dotx; *.dotm"
        .Filters.Add "All files", "*.*"
        .FilterIndex = 1
        .Show
        If .SelectedItems.Count > 0 Then
            GetTemplateName = .SelectedItems(1)
        Else
            GetTemplateName = ""
        End If
    End With
    Set dlg = Nothing
End Function
Function userStyles() As String
    Dim sty As Style
    Dim s As String

    s = ""
    For Each sty In ActiveDocument.Styles
        If Not sty.BuiltIn Then
            s = vbCr & sty.NameLocal & "  " & sty.Description
        End If
    Next sty
    userStyles = s
End Function
Function UserTabStops() As String
    Dim s As String
    Dim tbStop As TabStop
    Dim alg

    alg = Array("Left", "Center", "Right", "Decimal", "Bar", "?", "List")
    s = ""
    For Each tbStop In ActiveDocument.Paragraphs(1).TabStops
        s = s & vbCr & ptConvert(tbStop.Position) & _
          " Alignment: " & alg(tbStop.Alignment)
    Next tbStop
    UserTabStops = s
End Function
Function marginsStr() As String
    With ActiveDocument
        marginsStr = _
          "Left: " & ptConvert(.PageSetup.LeftMargin) & _
          ", Right: " & ptConvert(.PageSetup.RightMargin) & _
          ", Top: " & ptConvert(.PageSetup.TopMargin) & _
          ", Bottom: " & ptConvert(.PageSetup.BottomMargin)
    End With
End Function
Function ptConvert(p As Single) As String
    ptConvert = Format(PointsToInches(p), "###.##")
    " use the following line if you want dimensions in centimeters
    "ptConvert = Format(PointsToCentimeters(p), "###.##")
End Function

ماکرو اصلی که با آن شروع می کنید TemplateSettings است. این ماکرو به نوبه خود سایر توابع موجود در لیست را فراخوانی می کند. برخی از تنظیمات رایج‌تر در قالب را می‌گیرد (البته می‌توانید الگو را مشخص کنید) و سپس آن تنظیمات را در یک جعبه پیام نمایش می‌دهد. به طور خاص، نام قالب، اندازه کاغذ، جهت صفحه، حاشیه‌ها، توقف‌های برگه (فقط برای اولین پاراگراف در الگو) و سبک‌های تعریف‌شده توسط کاربر را نمایش می‌دهد.

بدیهی است که بسیاری از تنظیمات دیگر وجود دارد که می توانند استخراج و نمایش داده شوند. به عنوان مثال، ممکن است بخواهید بدانید که ویژگی‌های هر سبک چیست، نه فقط فهرستی از نام‌های سبک تعریف شده توسط کاربر. یا ممکن است بخواهید بدانید که چگونه قالب بندی برای سبک های داخلی با قالب بندی پیش فرض متفاوت است. فقط همین گزینه ها به تنهایی پیچیدگی زیادی را به ماکرو وارد می کند. (در نظر بگیرید که هر سبک می‌تواند ده‌ها تنظیمات قالب‌بندی مختلف داشته باشد و «قالب‌بندی پیش‌فرض» برای سبک‌های داخلی با آنچه در قالب عادی ذخیره می‌شود، تعریف می‌شود.) برای گنجاندن چنین مواردی، فقط باید ماکرو را تغییر دهید. برای جمع آوری و گردآوری اطلاعات مورد نظر.

همچنین توجه داشته باشید که مجموعه ماکرو ارائه شده در اینجا علیرغم طول آن، ساده طراحی شده است. تنها کاری که انجام می دهد این است که تمام تنظیمات استخراج شده را در یک رشته قرار می دهد و سپس آن رشته را در یک جعبه پیام نمایش می دهد. اگر قالبی که به آن نگاه می‌کنید دارای سبک‌های بسیار بسیار زیادی است که توسط کاربر تعریف شده است، پس ممکن است رشته بسیار طولانی شود. اگر خیلی طولانی شود، یک خطایی دریافت خواهید کرد زیرا تابع MsgBox فقط می تواند یک پیام نسبتاً کوتاه را نمایش دهد. اگر پیش بینی می کنید که رشته شما طولانی تر شود، می خواهید آن را به صورت "تکه ها" به صورت چندگانه نمایش دهید. جعبه های پیام، یا به سادگی رشته را در یک فایل متنی بنویسید که بعداً می توانید بررسی کنید.

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

پاسخ شما

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

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

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

سوالات مشابه

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

31.4k سوال

16.7k پاسخ

619 دیدگاه

13.7k کاربر

15 نفر آنلاین
0 عضو و 15 مهمان در سایت حاضرند
بازدید امروز: 108859
بازدید دیروز: 26952
بازدید کل: 33113994
...