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

فیل بسیار از ماکروها استفاده می کند و دوست دارد بداند آیا می توان کد VBA را در ماژول های خود از داخل یک ماکرو خواند. آرزوی فوری او ایجاد یک ماکرو برای چاپ کد برای یک زیر یا تابع معین است. در حال حاضر فیل کد را کپی کرده و در یک سند Word جایگذاری می کند تا بتواند چاپ کند، اما به نظر او این کار خسته کننده و تکراری است.

چند راه وجود دارد که می توانید کد ماکرو خود را چاپ کنید. ساده ترین (حداقل برای برخی از نسخه های Word) نمایش ماژول حاوی رویه ماکرو در ویرایشگر ویژوال بیسیک و سپس انتخاب Print از منوی File است. سپس Word کل ماژول را در چاپگر پیش فرض شما چاپ می کند.

متأسفانه، این رویکرد بصری در همه نسخه‌های Word در دسترس نیست. ساده‌ترین روش بعدی، صادر کردن ماژول حاوی رویه‌ای است که می‌خواهید چاپ کنید. می‌توانید با کلیک راست روی نام ماژول در Visual Basic Explorer این کار را انجام دهید. در منوی زمینه ایجاد شده، Export Module را انتخاب کنید. یک کادر محاوره ای استاندارد "ذخیره" را مشاهده خواهید کرد که می توانید از آن برای تعیین مکان و با چه نامی که ماژول باید صادر شود استفاده کنید.

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

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

Sub ModsToDocs()

" Microsoft Visual Basic for Applications Extensibility 5.3
" must be set in Tools > References otherwise an error will occur

    Dim vbComp As VBIDE.VBComponent
    Dim docPath As String

    docPath = ActiveDocument.Path & ""
    For Each vbComp In ActiveDocument.VBProject.VBComponents
        If vbComp.Type = vbext_ct_StdModule Then
            Documents.Add
            Selection.TypeText vbComp.CodeModule.Lines(1, _
              vbComp.CodeModule.CountOfLines)
            ActiveDocument.SaveAs2 FileName:=docPath & vbComp.Name
            ActiveDocument.Close
        End If
    Next vbComp
End Sub

برای اینکه ماکرو کار کند، باید References را از منوی Tools (در ویرایشگر ویژوال بیسیک) انتخاب کنید و مطمئن شوید که کتابخانه Microsoft Visual Basic for Applications Extensibility 5.3 انتخاب شده است. پس از اجرای ماکرو، شما" برای هر ماژول کد ماکرو یک سند ذخیره شده در دیسک خواهید داشت. اسناد در همان پوشه ای که خود سند اصلی ذخیره می شود. (این بدان معناست که شما باید ماکرو را فقط روی سندی اجرا کنید که قبلاً در دیسک ذخیره شده است.)

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

پاسخ شما

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

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

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

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
1 پاسخ 54 visibility
ارسال شده در 4 مرداد 1402 موضوع: سخت افزار توسط: Admin
0 دوستدار 0 امتیاز منفی
0 پاسخ 21 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 34 visibility
0 دوستدار 0 امتیاز منفی
1 پاسخ 45 visibility

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

293 نفر آنلاین
0 عضو و 293 مهمان در سایت حاضرند
بازدید امروز: 39762
بازدید دیروز: 25180
بازدید کل: 20377086
...