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

شریل به طور معمول اسنادی را ایجاد می کند که جداول بسیار زیادی در آنها وجود دارد. هر یک از جداول از این نظر سازگار هستند که طرح کلی یکسانی دارند. (هر کدام شامل همان تعداد ستون است که هر ستون حاوی اطلاعات یکسانی است.) شریل به دنبال راهی است تا مطمئن شود که عرض ستون ها در همه جداول مطابقت دارند.

راه حل بستگی به زمان ایجاد جداول دارد. اگر سند جدید است، ایجاد جداول به روشی ثابت نسبتاً آسان است. همانطور که در WordTips دیگر توضیح داده شد (و من در اینجا به آن نمی پردازم)، می توانید جداول استاندارد خود را به عنوان ورودی های بلوک ساختمان ذخیره کنید یا یک سبک جدول ایجاد کنید که نحوه نمایش جدول شما را مشخص کند. در صورت نیاز، به سادگی وارد کنید. ورودی بلوک ساختمان یا سبک را اعمال کنید، و جدول همانطور که می خواهید ظاهر می شود.

اگر سند شما از قبل ایجاد شده باشد و شما به سادگی بخواهید یکپارچگی را در جداول موجود در سند اعمال کنید، راه حل کمی بیشتر درگیر است. در این صورت، راه حل استفاده از ماکرو برای تغییر عرض ستون ها است.

می توان یک ماکرو ایجاد کرد که به سرعت از هر جدول در یک سند عبور کند و هر ستون در جدول را با عرض یکسان کند، به این ترتیب:

Sub SetColumnWidths1()
    Dim t As Table
    For Each t In ActiveDocument.Tables
        t.Columns.Width = InchesToPoints(2)
    Next t
End Sub

با این حال، احتمال اینکه نمی‌خواهید هر ستون 2 اینچ عرض داشته باشد، خوب است. احتمالاً می‌خواهید هر ستون یک عرض خاص و متفاوت از ستون‌های دیگر داشته باشد. تکرار زیر ماکرو این احتمال را نشان می‌دهد:

Sub SetColumnWidths2()
    Dim t As Table
    For Each t In ActiveDocument.Tables
        t.Columns(1).Width = InchesToPoints(2)
        t.Columns(2).Width = InchesToPoints(2.5)
        t.Columns(3).Width = InchesToPoints(3)
    Next t
End Sub

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

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

Sub SetColumnWidths3()
    Dim t As Table
    Dim c As Column
    Dim ccnt As Integer
    Dim w() As Single
    Dim J As Integer
    Dim K As Integer

    Set t = ActiveDocument.Tables(1)
    ccnt = t.Columns.Count
    ReDim w(ccnt)
    J = 0
    For Each c In t.Columns
        J = J + 1
        w(J) = c.Width
    Next c

    For J = 2 To ActiveDocument.Tables.Count
        Set t = ActiveDocument.Tables(J)
        If t.Columns.Count = ccnt Then
            For K = 1 to ccnt
                t.Columns(K).Width = w(K)
            Next K
        Endif
    Next J
End Sub

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

در اینجا یک مشکل بالقوه وجود دارد: اگر جداول در سند شما به هر طریقی از سلول‌های ادغام شده استفاده می‌کنند، می‌تواند نتایجی را که به دست می‌آورید خراب کند. در آن مثال، شما می خواهید سند خود را قبل از اجرای ماکرو ذخیره کنید. به این ترتیب می توانید نتایج را به صورت بصری بررسی کنید و سپس در صورت لزوم به سند ذخیره شده برگردید.

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

پاسخ شما

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

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

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

سوالات مشابه

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

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

372 نفر آنلاین
0 عضو و 372 مهمان در سایت حاضرند
بازدید امروز: 17147
بازدید دیروز: 25180
بازدید کل: 20354492
...