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

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

مدل شی Word بر سازماندهی اشیاء منفرد در مجموعه‌هایی است که می‌توان به صورت برنامه‌ریزی به آنها دسترسی داشت. این نه تنها برای جداول، بلکه برای پاراگراف‌ها، گرافیک‌ها و تعداد زیادی از اشیاء دیگر صدق می‌کند. شما به راحتی می‌توانید تعداد اشیاء یک مجموعه را با استفاده از برای مثال، می توانید از موارد زیر برای کشف تعداد جدول در یک سند استفاده کنید، زیرا تعداد اشیاء موجود در مجموعه جداول را برمی گرداند:

iNumTables = ActiveDocument.Tables.Count

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

Sub FindTableNumber()
    Dim J As Integer
    Dim iTableNum As Integer
    Dim oTbl As Table

    Selection.Bookmarks.Add ("TempBM")
    For J = 1 To ActiveDocument.Tables.Count
        Set oTbl = ActiveDocument.Tables(J)
        oTbl.Select
        If Selection.Bookmarks.Exists("TempBM") Then
            iTableNum = J
            Exit For
        End If
    Next J
    ActiveDocument.Bookmarks("TempBM").Select
    ActiveDocument.Bookmarks("TempBM").Delete
    MsgBox "The current table is table " & iTableNum
End Sub

برای استفاده از ماکرو، فقط مطمئن شوید که نقطه درج در جدول مورد نظر باشد. ماکرو را می توان به راحتی با یک زمینه بزرگتر، مانند جایی که جدول تقسیم می شود و در غیر این صورت دستکاری می شود، تطبیق داد.

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

Selection.Tables(1).Split(5)

این دستور جدول را در ردیف 5 تقسیم می کند. شما به راحتی می توانید با تغییر ردیفی که در آن تقسیم شده است، نقطه تقسیم را تغییر دهید. سپس با استفاده از دستور زیر می توانید نقطه درج را به ابتدای جدول بعدی (جدول جدید ایجاد شده) منتقل کنید:

Selection.GoTo What:=wdGoToTable, Which:=wdGoToNext

این دستور به ابتدای جدول بعدی می‌رود و سپس می‌توانید ردیف سرصفحه‌ای را که قبلاً کپی کرده‌اید جای‌گذاری کنید.

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

پاسخ شما

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

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

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

سوال مشابهی یافت نشد

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

23.2k سوال

8.5k پاسخ

613 دیدگاه

10.8k کاربر

187 نفر آنلاین
0 عضو و 187 مهمان در سایت حاضرند
بازدید امروز: 12933
بازدید دیروز: 13001
بازدید کل: 19467227
...