PPTX ใน Python

แมโคร VBA ช่วยให้คุณสามารถดำเนินการประเภทต่างๆ ในงานนำเสนอ PowerPoint ได้โดยอัตโนมัติ คุณสามารถใช้สิ่งเหล่านี้เพื่อสร้างแผนภูมิ เลิกซ่อนวัตถุที่ซ่อนอยู่ และทำงานซ้ำๆ ต่างๆ ในงานนำเสนอ ในขณะที่ทำงานกับงานนำเสนอ PowerPoint จากภายในแอปพลิเคชัน Python ของคุณ คุณอาจต้องจัดการแมโคร VBA ดังนั้น ในบทความนี้ คุณจะได้เรียนรู้วิธีการเพิ่ม แยก และลบ VBA Macros ใน PowerPoint โดยใช้ Python

Python Library เพื่อทำงานกับ VBA Macros ใน PowerPoint

ในการทำงานกับแมโคร VBA ในงานนำเสนอ PowerPoint เราจะใช้ Aspose.Slides for Python ไลบรารีมีชุดคุณลักษณะมากมายสำหรับสร้าง แก้ไข และแปลงงานนำเสนอ PowerPoint คุณสามารถติดตั้งไลบรารีได้จาก PyPI โดยใช้คำสั่งต่อไปนี้

> pip install aspose.slides

เพิ่ม VBA Macro ในงานนำเสนอ PowerPoint ใน Python

ต่อไปนี้เป็นขั้นตอนในการเพิ่มแมโคร VBA ในงานนำเสนอ PowerPoint โดยใช้ Python

  • ขั้นแรก ใช้คลาสการนำเสนอเพื่อโหลดหรือสร้างงานนำเสนอ PowerPoint
  • จากนั้นสร้าง VbaProject ใหม่และกำหนดให้กับคุณสมบัติ Presentation.vbaproject
  • หลังจากนั้น ให้เพิ่มโมดูล VBA เปล่าโดยใช้เมธอด Presentation.vbaproject.modules.addemptymodule(string)
  • เพิ่มซอร์สโค้ดให้กับโมดูล VBA โดยใช้คุณสมบัติ IVbaModule.sourcecode
  • เชื่อมโยงการอ้างอิงและเพิ่มไปยังคอลเลกชัน Presentation.vbaproject.references
  • สุดท้าย บันทึกไฟล์งานนำเสนอโดยใช้เมธอด Presentation.save(string, SaveFormat.PPTM)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มแมโคร VBA ในงานนำเสนอ PowerPoint โดยใช้ Python

# สร้างหรือโหลดงานนำเสนอ
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 จาก PowerPoint ใน Python

คุณยังสามารถเข้าถึงแมโคร VBA ที่เพิ่มลงในงานนำเสนอ PowerPoint และแยกข้อมูลได้ ขั้นตอนต่อไปนี้สาธิตวิธีแยกแมโคร VBA และพิมพ์ชื่อและซอร์สโค้ดใน Python

  • ขั้นแรก ให้โหลดงานนำเสนอที่เปิดใช้งานมาโครโดยใช้คลาสการนำเสนอ
  • จากนั้น ตรวจสอบว่างานนำเสนอมีโครงการ VBA โดยใช้คุณสมบัติ Presentation.vbaproject หรือไม่
  • เข้าถึงแต่ละโมดูล VBA ในคอลเลกชัน Presentation.vbaproject.modules
  • สุดท้าย แยกซอร์สโค้ดและชื่อของโมดูล VBA

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกแมโคร PowerPoint VBA ใน Python

# โหลดงานนำเสนอ
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 ออกจากงานนำเสนอ PowerPoint

หากต้องการลบแมโคร VBA คุณต้องเข้าถึงโดยใช้ดัชนี เมื่อคุณมีข้อมูลอ้างอิงของแมโครแล้ว คุณสามารถลบออกจากคอลเล็กชันได้ ต่อไปนี้เป็นขั้นตอนในการลบแมโคร VBA ออกจากงานนำเสนอ PowerPoint

  • ขั้นแรก ให้โหลดงานนำเสนอ PowerPoint ที่เปิดใช้งานมาโครโดยใช้คลาสการนำเสนอ
  • จากนั้น ลบแมโคร VBA โดยใช้วิธี Presentation.vbaproject.modules.remove(Presentation.vbaproject.modules[index])
  • สุดท้าย บันทึกงานนำเสนอที่อัปเดตโดยใช้เมธอด Presentation.save(string, SaveFormat.PPTM)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีลบแมโคร VBA ใน Python

# โหลดงานนำเสนอ
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 for Python ได้โดยไม่มีข้อจำกัดในการประเมินโดยรับ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีการทำงานกับแมโคร VBA ในงานนำเสนอ PowerPoint โดยใช้ Python ด้วยความช่วยเหลือของตัวอย่างโค้ด เราได้สาธิตวิธีการเพิ่ม แยก และลบแมโคร VBA ในงานนำเสนอ PowerPoint นอกจากนี้ คุณสามารถไปที่ เอกสารประกอบ เพื่อสำรวจเพิ่มเติมเกี่ยวกับ Aspose.Slides for Python นอกจากนี้ คุณสามารถถามคำถามและข้อสงสัยของคุณผ่าน ฟอรัม ของเรา

ดูสิ่งนี้ด้วย