PPTX i Python

VBA-makron låter dig automatisera olika typer av operationer i PowerPoint-presentationer. Du kan använda dem för att skapa diagram, visa de dolda objekten och utföra olika repetitiva uppgifter i presentationerna. När du arbetar med PowerPoint-presentationer från dina Python-applikationer kan du behöva manipulera VBA-makron. Därför kommer du i den här artikeln att lära dig hur du lägger till, extraherar och tar bort VBA-makron i PowerPoint med Python.

Python Library för att arbeta med VBA-makron i PowerPoint

För att arbeta med VBA-makron i PowerPoint-presentationer kommer vi att använda Aspose.Slides for Python. Biblioteket erbjuder en mängd funktioner för att skapa, redigera och konvertera PowerPoint-presentationer. Du kan installera biblioteket från PyPI med följande kommando.

> pip install aspose.slides

Lägg till VBA-makro i PowerPoint-presentationer i Python

Följande är stegen för att lägga till ett VBA-makro i en PowerPoint-presentation med Python.

  • Använd först presentationsklassen för att ladda eller skapa PowerPoint-presentationen.
  • Skapa sedan ett nytt VbaProject och tilldela det till egenskapen Presentation.vbaproject.
  • Lägg sedan till en tom VBA-modul med metoden Presentation.vbaproject.modules.addemptymodule(string).
  • Lägg till källkod till VBA-modulen med egenskapen IVbaModule.sourcecode.
  • Associera referenserna och lägg till dem i Presentation.vbaproject.references-samlingen.
  • Slutligen sparar du presentationsfilen med metoden Presentation.save(string, SaveFormat.PPTM).

Följande kodexempel visar hur man lägger till VBA-makro i en PowerPoint-presentation med Python.

# Skapa eller ladda en presentation
with slides.Presentation() as presentation:
    # Skapa nytt VBA-projekt
    presentation.vba_project = slides.vba.VbaProject()

    # Lägg till tom modul till VBA-projektet
    module = presentation.vba_project.modules.add_empty_module("Module")

    # Ställ in modulens källkod
    module.source_code = "Sub Test(oShape As Shape) MsgBox ""Test"" End Sub"

    # Skapa referens till<stdole>
    stdoleReference = slides.vba.VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation")

    # Skapa referens till 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")

    # lägga till referenser till VBA-projektet
    presentation.vba_project.references.add(stdoleReference)
    presentation.vba_project.references.add(officeReference)

    # Spara presentationen
    presentation.save("add-vba-macro.pptm", slides.export.SaveFormat.PPTM)

Extrahera VBA-makron från PowerPoint i Python

Du kan också komma åt VBA-makron som lagts till i en PowerPoint-presentation och extrahera informationen om dem. Följande steg visar hur man extraherar VBA-makron och skriver ut deras namn och källkod i Python.

  • Ladda först den makroaktiverade presentationen med klassen Presentation.
  • Kontrollera sedan om presentationen innehåller VBA-projekten med egenskapen Presentation.vbaproject.
  • Få åtkomst till varje VBA-modul i samlingen Presentation.vbaproject.modules.
  • Slutligen, extrahera källkoden och namnet på VBA-modulen.

Följande kodexempel visar hur man extraherar PowerPoint VBA-makron i Python.

# Ladda en presentation
with slides.Presentation("presentation.pptm") as presentation:
    
    # Kontrollera om presentationen innehåller VBA-projekt
    if presentation.vba_project is not None:
        
        # Skriv ut varje modul
       for module in presentation.vba_project.modules:
            print(module.name)
            print(module.source_code)

Ta bort VBA-makron från en PowerPoint-presentation

För att ta bort ett VBA-makro måste du komma åt det med hjälp av dess index. När du har makrots referens kan du ta bort det från samlingen. Följande är stegen för att ta bort ett VBA-makro från en PowerPoint-presentation.

  • Ladda först den makroaktiverade PowerPoint-presentationen med klassen Presentation.
  • Ta sedan bort VBA-makrot med metoden Presentation.vbaproject.modules.remove(Presentation.vbaproject.modules[index]).
  • Slutligen sparar du den uppdaterade presentationen med metoden Presentation.save(string, SaveFormat.PPTM).

Följande kodexempel visar hur man tar bort ett VBA-makro i Python.

# Ladda en presentation
with slides.Presentation("presentation.pptm") as presentation:
    # Ta bort VBA-makro med hjälp av index
    presentation.vba_project.modules.remove(presentation.vba_project.modules[0])

    # Spara presentationen
    presentation.save("remove-vba-macro.pptm", slides.export.SaveFormat.PPTM)

Skaffa en gratis licens

Du kan använda Aspose.Slides för Python utan utvärderingsbegränsningar genom att skaffa en gratis tillfällig licens.

Slutsats

I den här artikeln har du lärt dig hur du arbetar med VBA-makron i PowerPoint-presentationer med Python. Med hjälp av kodprover har vi demonstrerat hur man lägger till, extraherar och tar bort VBA-makron i PowerPoint-presentationer. Dessutom kan du besöka dokumentationen för att utforska mer om Aspose.Slides för Python. Du kan också ställa dina frågor och frågor via vårt forum.

Se även