PPTX در پایتون

ماکروهای VBA به شما امکان می دهند انواع مختلفی از عملیات را در ارائه های پاورپوینت خودکار کنید. می توانید از آنها برای تولید نمودارها، پنهان کردن اشیاء پنهان و انجام کارهای تکراری مختلف در ارائه ها استفاده کنید. در حین کار با ارائه های پاورپوینت از داخل برنامه های پایتون، ممکن است لازم باشد ماکروهای VBA را دستکاری کنید. بنابراین در این مقاله نحوه افزودن، استخراج و حذف ماکروهای VBA در پاورپوینت با استفاده از پایتون را خواهید آموخت.

کتابخانه پایتون برای کار با ماکروهای VBA در پاورپوینت

برای کار با ماکروهای VBA در ارائه های پاورپوینت، از Aspose.Slides for Python استفاده می کنیم. این کتابخانه مجموعه ای غنی از ویژگی ها را برای ایجاد، ویرایش و تبدیل ارائه های پاورپوینت فراهم می کند. با استفاده از دستور زیر می توانید کتابخانه را از PyPI نصب کنید.

> pip install aspose.slides

اضافه کردن VBA Macro به ارائه پاورپوینت در پایتون

در زیر مراحل اضافه کردن یک ماکرو VBA در ارائه پاورپوینت با استفاده از پایتون آمده است.

  • ابتدا از کلاس Presentation برای بارگیری یا ایجاد ارائه پاورپوینت استفاده کنید.
  • سپس، یک VbaProject جدید ایجاد کنید و آن را به ویژگی Presentation.vbaproject اختصاص دهید.
  • پس از آن، با استفاده از روش Presentation.vbaproject.modules.addemptymodule(string) یک ماژول VBA خالی اضافه کنید.
  • کد منبع را با استفاده از ویژگی IVbaModule.sourcecode به ماژول VBA اضافه کنید.
  • منابع را مرتبط کنید و آنها را به مجموعه Presentation.vbaproject.references اضافه کنید.
  • در نهایت فایل ارائه را با استفاده از روش Presentation.save(string, SaveFormat.PPTM) ذخیره کنید.

نمونه کد زیر نحوه اضافه کردن ماکرو VBA را در ارائه پاورپوینت با استفاده از پایتون نشان می دهد.

# یک ارائه ایجاد یا بارگیری کنید
with slides.Presentation() as presentation:
    # پروژه VBA جدید ایجاد کنید
    presentation.vba_project = slides.vba.VbaProject()

    # ماژول خالی را به پروژه VBA اضافه کنید
    module = presentation.vba_project.modules.add_empty_module("Module")

    # کد منبع ماژول را تنظیم کنید
    module.source_code = "Sub Test(oShape As Shape) MsgBox ""Test"" End Sub"

    # ایجاد مرجع به<stdole>
    stdoleReference = slides.vba.VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation")

    # ایجاد مرجع به Office
    officeReference =slides.vba.VbaReferenceOleTypeLib("Office", "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library")

    # ارجاعات را به پروژه VBA اضافه کنید
    presentation.vba_project.references.add(stdoleReference)
    presentation.vba_project.references.add(officeReference)

    # ذخیره ارائه
    presentation.save("add-vba-macro.pptm", slides.export.SaveFormat.PPTM)

ماکروهای VBA را از پاورپوینت در پایتون استخراج کنید

همچنین می توانید به ماکروهای VBA اضافه شده به یک ارائه پاورپوینت دسترسی داشته باشید و اطلاعات آنها را استخراج کنید. مراحل زیر نحوه استخراج ماکروهای VBA و چاپ نام و کد منبع آنها را در پایتون نشان می دهد.

  • ابتدا، ارائه ماکرو فعال شده را با استفاده از کلاس Presentation بارگذاری کنید.
  • سپس، بررسی کنید که آیا ارائه شامل پروژه های VBA با استفاده از ویژگی Presentation.vbaproject است.
  • به هر ماژول VBA در مجموعه Presentation.vbaproject.modules دسترسی پیدا کنید.
  • در نهایت کد منبع و نام ماژول VBA را استخراج کنید.

نمونه کد زیر نحوه استخراج ماکروهای PowerPoint VBA در پایتون را نشان می دهد.

# یک ارائه را بارگیری کنید
with slides.Presentation("presentation.pptm") as presentation:
    
    # بررسی کنید که آیا ارائه شامل پروژه VBA است یا خیر
    if presentation.vba_project is not None:
        
        # هر ماژول را چاپ کنید
       for module in presentation.vba_project.modules:
            print(module.name)
            print(module.source_code)

ماکروهای VBA را از ارائه پاورپوینت حذف کنید

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

  • ابتدا با استفاده از کلاس Presentation، ارائه پاورپوینت با قابلیت ماکرو را بارگیری کنید.
  • سپس، ماکرو VBA را با استفاده از روش Presentation.vbaproject.modules.remove(Presentation.vbaproject.modules[index]) حذف کنید.
  • در نهایت، ارائه به روز شده را با استفاده از روش Presentation.save(string, SaveFormat.PPTM) ذخیره کنید.

نمونه کد زیر نحوه حذف یک ماکرو VBA در پایتون را نشان می دهد.

# یک ارائه را بارگیری کنید
with slides.Presentation("presentation.pptm") as presentation:
    # ماکرو VBA را با استفاده از شاخص حذف کنید
    presentation.vba_project.modules.remove(presentation.vba_project.modules[0])

    # ذخیره ارائه
    presentation.save("remove-vba-macro.pptm", slides.export.SaveFormat.PPTM)

مجوز رایگان دریافت کنید

با دریافت [مجوز موقت رایگان] می‌توانید از Aspose.Slides برای پایتون بدون محدودیت ارزیابی استفاده کنید.

نتیجه

در این مقاله نحوه کار با ماکروهای VBA در ارائه های پاورپوینت با استفاده از پایتون را یاد گرفتید. با کمک نمونه‌های کد، نحوه افزودن، استخراج و حذف ماکروهای VBA در ارائه‌های پاورپوینت را نشان داده‌ایم. علاوه بر این، می‌توانید برای بررسی بیشتر درباره Aspose.Slides برای Python از documentation دیدن کنید. همچنین، می‌توانید سؤالات و سؤالات خود را از طریق [تالار گفتمان5 ما بپرسید.

همچنین ببینید