العرض عبر VBA

تحتوي مساحة أسماء Aspose.Slides.Vba على فصول وواجهات للعمل مع الماكروز وكود VBA.

إضافة ماكروز VBA

توفر Aspose.Slides فصل VbaProject للسماح لك بإنشاء مشاريع VBA (ومراجع المشاريع) وتحرير الوحدات الحالية. يمكنك استخدام واجهة IVbaProject لإدارة VBA المدمجة في العرض.

  1. أنشئ مثيلاً لفصل Presentation .
  2. استخدم المنشئ VbaProject لإضافة مشروع VBA جديد.
  3. أضف وحدة إلى VbaProject.
  4. قم بتعيين كود المصدر للوحدة.
  5. أضف مراجع إلى .
  6. أضف مراجع إلى Microsoft Office.
  7. اربط المراجع بمشروع VBA.
  8. احفظ العرض.

يوضح لك هذا الكود باللغة بايثون كيفية إضافة ماكرو VBA من الصفر إلى عرض:

import aspose.slides as slides

# ينشئ مثيلاً لفصل العرض
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("AddVBAMacros_out.pptm", slides.export.SaveFormat.PPTM)

إزالة ماكروز VBA

باستخدام خاصية VbaProject داخل فصل Presentation ، يمكنك إزالة ماكرو VBA.

  1. أنشئ مثيلاً لفصل Presentation وقم بتحميل العرض الذي يحتوي على الماكرو.
  2. الوصول إلى وحدة الماكرو وإزالتها.
  3. احفظ العرض المعدل.

يوضح لك هذا الكود باللغة بايثون كيفية إزالة ماكرو VBA:

import aspose.slides as slides

# يحمل العرض الذي يحتوي على الماكرو
with slides.Presentation(path + "VBA.pptm") as presentation:
    # يصل إلى وحدة Vba ويزيلها  
    presentation.vba_project.modules.remove(presentation.vba_project.modules[0])

    # يحفظ العرض
    presentation.save("RemovedVBAMacros_out.pptm", slides.export.SaveFormat.PPTM)

استخراج ماكروز VBA

  1. أنشئ مثيلاً لفصل Presentation وقم بتحميل العرض الذي يحتوي على الماكرو.
  2. تحقق مما إذا كان العرض يحتوي على مشروع VBA.
  3. قم بالمرور على جميع الوحدات المحتواة في مشروع VBA لعرض الماكروز.

يوضح لك هذا الكود باللغة بايثون كيفية استخراج ماكروز VBA من عرض يحتوي على ماكروز:

import aspose.slides as slides

with slides.Presentation(path + "VBA.pptm") as pres:
    if pres.vba_project is not None: # يتحقق مما إذا كان العرض يحتوي على مشروع VBA
        for module in pres.vba_project.modules:
            print(module.name)
            print(module.source_code)