PPTX w Python

Makra VBA pozwalają zautomatyzować różnego rodzaju operacje w prezentacjach PowerPoint. Możesz ich używać do generowania wykresów, odkrywania ukrytych obiektów i wykonywania różnych powtarzalnych zadań w prezentacjach. Podczas pracy z prezentacjami PowerPoint z poziomu aplikacji Python może być konieczne manipulowanie makrami VBA. Dlatego w tym artykule dowiesz się, jak dodawać, wyodrębniać i usuwać makra VBA w programie PowerPoint za pomocą Python.

Biblioteka Python do pracy z makrami VBA w programie PowerPoint

Do pracy z makrami VBA w prezentacjach PowerPoint użyjemy Aspose.Slides for Python. Biblioteka zapewnia bogaty zestaw funkcji do tworzenia, edytowania i konwertowania prezentacji PowerPoint. Możesz zainstalować bibliotekę z PyPI za pomocą następującego polecenia.

> pip install aspose.slides

Dodaj makro VBA w prezentacjach PowerPoint w Python

Poniżej przedstawiono kroki dodawania makra VBA do prezentacji programu PowerPoint przy użyciu języka Python.

  • Najpierw użyj klasy Prezentacja, aby załadować lub utworzyć prezentację programu PowerPoint.
  • Następnie utwórz nowy VbaProject i przypisz go do właściwości Presentation.vbaproject.
  • Następnie dodaj pusty moduł VBA za pomocą metody Presentation.vbaproject.modules.addemptymodule(string).
  • Dodaj kod źródłowy do modułu VBA za pomocą właściwości IVbaModule.sourcecode.
  • Powiąż referencje i dodaj je do kolekcji Presentation.vbaproject.references.
  • Na koniec zapisz plik prezentacji przy użyciu metody Presentation.save(string, SaveFormat.PPTM).

Poniższy przykładowy kod pokazuje, jak dodać makro języka VBA do prezentacji programu PowerPoint przy użyciu języka Python.

# Utwórz lub załaduj prezentację
with slides.Presentation() as presentation:
    # Utwórz nowy projekt VBA
    presentation.vba_project = slides.vba.VbaProject()

    # Dodaj pusty moduł do projektu VBA
    module = presentation.vba_project.modules.add_empty_module("Module")

    # Ustaw kod źródłowy modułu
    module.source_code = "Sub Test(oShape As Shape) MsgBox ""Test"" End Sub"

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

    # Utwórz odwołanie do pakietu 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")

    # dodaj referencje do projektu VBA
    presentation.vba_project.references.add(stdoleReference)
    presentation.vba_project.references.add(officeReference)

    # Zapisz prezentację
    presentation.save("add-vba-macro.pptm", slides.export.SaveFormat.PPTM)

Wyodrębnij makra VBA z programu PowerPoint w Python

Możesz także uzyskać dostęp do makr VBA dodanych do prezentacji PowerPoint i wyodrębnić ich informacje. Poniższe kroki pokazują, jak wyodrębnić makra VBA i wydrukować ich nazwę oraz kod źródłowy w Python.

  • Najpierw załaduj prezentację z włączoną obsługą makr, używając klasy Presentation.
  • Następnie sprawdź, czy prezentacja zawiera projekty VBA za pomocą właściwości Presentation.vbaproject.
  • Uzyskaj dostęp do każdego modułu VBA w kolekcji Presentation.vbaproject.modules.
  • Na koniec wyodrębnij kod źródłowy i nazwę modułu VBA.

Poniższy przykładowy kod pokazuje, jak wyodrębnić makra programu PowerPoint VBA w języku Python.

# Załaduj prezentację
with slides.Presentation("presentation.pptm") as presentation:
    
    # Sprawdź, czy prezentacja zawiera projekt VBA
    if presentation.vba_project is not None:
        
        # Wydrukuj każdy moduł
       for module in presentation.vba_project.modules:
            print(module.name)
            print(module.source_code)

Usuń makra VBA z prezentacji programu PowerPoint

Aby usunąć makro VBA, musisz uzyskać do niego dostęp za pomocą jego indeksu. Po uzyskaniu odniesienia do makra możesz usunąć je z kolekcji. Poniżej przedstawiono kroki, aby usunąć makro VBA z prezentacji programu PowerPoint.

  • Najpierw załaduj prezentację PowerPoint z obsługą makr, używając klasy Presentation.
  • Następnie usuń makro VBA za pomocą metody Presentation.vbaproject.modules.remove(Presentation.vbaproject.modules[index]).
  • Na koniec zapisz zaktualizowaną prezentację przy użyciu metody Presentation.save(string, SaveFormat.PPTM).

Poniższy przykładowy kod pokazuje, jak usunąć makro języka VBA w języku Python.

# Załaduj prezentację
with slides.Presentation("presentation.pptm") as presentation:
    # Usuń makro VBA za pomocą index
    presentation.vba_project.modules.remove(presentation.vba_project.modules[0])

    # Zapisz prezentację
    presentation.save("remove-vba-macro.pptm", slides.export.SaveFormat.PPTM)

Uzyskaj bezpłatną licencję

Możesz używać Aspose.Slides for Python bez ograniczeń ewaluacyjnych, otrzymując darmową licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się, jak pracować z makrami VBA w prezentacjach PowerPoint przy użyciu Python. Za pomocą przykładów kodu pokazaliśmy, jak dodawać, wyodrębniać i usuwać makra VBA w prezentacjach PowerPoint. Ponadto możesz odwiedzić dokumentację, aby dowiedzieć się więcej o Aspose.Slides for Python. Możesz także zadawać pytania i zapytania za pośrednictwem naszego forum.

Zobacz też