Makra VBA umožňují automatizovat různé typy operací v prezentacích PowerPoint. Můžete je použít pro generování grafů, odkrývání skrytých objektů a provádění různých opakujících se úkolů v prezentacích. Při práci s prezentacemi PowerPoint z aplikací Python možná budete muset manipulovat s makry VBA. Proto se v tomto článku dozvíte, jak přidávat, extrahovat a odstraňovat makra VBA v PowerPointu pomocí Pythonu.
- Knihovna Pythonu pro práci s makry VBA
- Přidejte makra VBA do prezentace PowerPoint
- Extrahujte makra VBA z prezentace
- Odstraňte makra VBA z prezentace
Knihovna Pythonu pro práci s makry VBA v PowerPointu
Pro práci s makry VBA v prezentacích PowerPoint použijeme Aspose.Slides pro Python. Knihovna poskytuje bohatou sadu funkcí pro vytváření, úpravu a převod prezentací PowerPoint. Knihovnu můžete nainstalovat z PyPI pomocí následujícího příkazu.
> pip install aspose.slides
Přidejte makro VBA do PowerPointových prezentací v Pythonu
Níže jsou uvedeny kroky pro přidání makra VBA do prezentace PowerPoint pomocí Pythonu.
- Nejprve použijte třídu Prezentace k načtení nebo vytvoření prezentace PowerPoint.
- Poté vytvořte nový VbaProject a přiřaďte jej vlastnosti Presentation.vbaproject.
- Poté přidejte prázdný modul VBA pomocí metody Presentation.vbaproject.modules.addemptymodule(string).
- Přidejte zdrojový kód do modulu VBA pomocí vlastnosti IVbaModule.sourcecode.
- Přiřaďte odkazy a přidejte je do kolekce Presentation.vbaproject.references.
- Nakonec uložte soubor prezentace pomocí metody Presentation.save(string, SaveFormat.PPTM).
Následující ukázka kódu ukazuje, jak přidat makro VBA do prezentace PowerPoint pomocí Pythonu.
# Vytvořte nebo načtěte prezentaci
with slides.Presentation() as presentation:
# Vytvořte nový projekt VBA
presentation.vba_project = slides.vba.VbaProject()
# Přidejte prázdný modul do projektu VBA
module = presentation.vba_project.modules.add_empty_module("Module")
# Nastavte zdrojový kód modulu
module.source_code = "Sub Test(oShape As Shape) MsgBox ""Test"" End Sub"
# Vytvořit odkaz na<stdole>
stdoleReference = slides.vba.VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation")
# Vytvořte odkaz na 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")
# přidat odkazy na projekt VBA
presentation.vba_project.references.add(stdoleReference)
presentation.vba_project.references.add(officeReference)
# Uložit prezentaci
presentation.save("add-vba-macro.pptm", slides.export.SaveFormat.PPTM)
Extrahujte makra VBA z PowerPointu v Pythonu
Můžete také přistupovat k makrům VBA přidaným do prezentace PowerPoint a extrahovat jejich informace. Následující kroky ukazují, jak extrahovat makra VBA a tisknout jejich název a zdrojový kód v Pythonu.
- Nejprve načtěte prezentaci s podporou maker pomocí třídy Presentation.
- Poté pomocí vlastnosti Presentation.vbaproject zkontrolujte, zda prezentace obsahuje projekty VBA.
- Získejte přístup ke každému modulu VBA v kolekci Presentation.vbaproject.modules.
- Nakonec extrahujte zdrojový kód a název modulu VBA.
Následující ukázka kódu ukazuje, jak extrahovat makra PowerPoint VBA v Pythonu.
# Načíst prezentaci
with slides.Presentation("presentation.pptm") as presentation:
# Zkontrolujte, zda prezentace obsahuje projekt VBA
if presentation.vba_project is not None:
# Vytiskněte každý modul
for module in presentation.vba_project.modules:
print(module.name)
print(module.source_code)
Odstraňte makra VBA z prezentace PowerPoint
Chcete-li odebrat makro VBA, musíte k němu přistupovat pomocí jeho indexu. Jakmile budete mít odkaz na makro, můžete jej odstranit z kolekce. Následují kroky k odebrání makra VBA z prezentace PowerPoint.
- Nejprve načtěte prezentaci PowerPoint s podporou maker pomocí třídy Presentation.
- Poté odstraňte makro VBA pomocí metody Presentation.vbaproject.modules.remove(Presentation.vbaproject.modules[index]).
- Nakonec aktualizovanou prezentaci uložte pomocí metody Presentation.save(string, SaveFormat.PPTM).
Následující ukázka kódu ukazuje, jak odebrat makro VBA v Pythonu.
# Načíst prezentaci
with slides.Presentation("presentation.pptm") as presentation:
# Odstraňte makro VBA pomocí indexu
presentation.vba_project.modules.remove(presentation.vba_project.modules[0])
# Uložit prezentaci
presentation.save("remove-vba-macro.pptm", slides.export.SaveFormat.PPTM)
Získejte bezplatnou licenci
Aspose.Slides pro Python můžete používat bez omezení hodnocení získáním bezplatné dočasné licence.
Závěr
V tomto článku jste se naučili pracovat s makry VBA v prezentacích PowerPoint pomocí Pythonu. S pomocí ukázek kódu jsme ukázali, jak přidávat, extrahovat a odstraňovat makra VBA v prezentacích PowerPoint. Kromě toho můžete navštívit dokumentaci a prozkoumat více o Aspose.Slides pro Python. Také můžete položit svůj dotaz a dotazy prostřednictvím našeho fóra.