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