PPTX v Pythonu

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 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.

Viz také