PPTX dengan Python

Makro VBA memungkinkan Anda mengotomatiskan berbagai jenis operasi dalam presentasi PowerPoint. Anda dapat menggunakannya untuk membuat bagan, memperlihatkan objek tersembunyi, dan melakukan tugas berulang yang berbeda dalam presentasi. Saat bekerja dengan presentasi PowerPoint dari dalam aplikasi Python Anda, Anda mungkin perlu memanipulasi makro VBA. Oleh karena itu, dalam artikel ini, Anda akan mempelajari cara menambahkan, mengekstrak, dan menghapus Macro VBA di PowerPoint menggunakan Python.

Pustaka Python untuk Bekerja dengan Makro VBA di PowerPoint

Untuk bekerja dengan makro VBA dalam presentasi PowerPoint, kita akan menggunakan Aspose.Slides for Python. Pustaka menyediakan serangkaian fitur yang kaya untuk membuat, mengedit, dan mengonversi presentasi PowerPoint. Anda dapat menginstal pustaka dari PyPI menggunakan perintah berikut.

> pip install aspose.slides

Tambahkan Makro VBA di Presentasi PowerPoint dengan Python

Berikut adalah langkah-langkah untuk menambahkan makro VBA dalam presentasi PowerPoint menggunakan Python.

  • Pertama, gunakan kelas Presentation untuk memuat atau membuat presentasi PowerPoint.
  • Kemudian, buat VbaProject baru dan tetapkan ke properti Presentation.vbaproject.
  • Setelah itu, tambahkan modul VBA kosong menggunakan metode Presentation.vbaproject.modules.addemptymodule(string).
  • Tambahkan kode sumber ke modul VBA menggunakan properti IVbaModule.sourcecode.
  • Kaitkan referensi dan tambahkan ke koleksi Presentation.vbaproject.references.
  • Terakhir, simpan file presentasi menggunakan metode Presentation.save(string, SaveFormat.PPTM).

Contoh kode berikut menunjukkan cara menambahkan makro VBA dalam presentasi PowerPoint menggunakan Python.

# Membuat atau memuat presentasi
with slides.Presentation() as presentation:
    # Buat proyek VBA baru
    presentation.vba_project = slides.vba.VbaProject()

    # Tambahkan modul kosong ke proyek VBA
    module = presentation.vba_project.modules.add_empty_module("Module")

    # Tetapkan kode sumber modul
    module.source_code = "Sub Test(oShape As Shape) MsgBox ""Test"" End Sub"

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

    # Buat referensi ke 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")

    # tambahkan referensi ke proyek VBA
    presentation.vba_project.references.add(stdoleReference)
    presentation.vba_project.references.add(officeReference)

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

Ekstrak VBA Macro dari PowerPoint dengan Python

Anda juga dapat mengakses makro VBA yang ditambahkan ke presentasi PowerPoint dan mengekstrak informasinya. Langkah-langkah berikut menunjukkan cara mengekstrak makro VBA dan mencetak nama dan kode sumbernya dengan Python.

  • Pertama, muat presentasi yang mengaktifkan makro menggunakan kelas Presentation.
  • Kemudian, periksa apakah presentasi berisi proyek VBA menggunakan properti Presentation.vbaproject.
  • Akses setiap modul VBA di koleksi Presentation.vbaproject.modules.
  • Terakhir, ekstrak kode sumber dan nama modul VBA.

Contoh kode berikut menunjukkan cara mengekstrak makro PowerPoint VBA dengan Python.

# Muat presentasi
with slides.Presentation("presentation.pptm") as presentation:
    
    # Periksa apakah presentasi berisi Proyek VBA
    if presentation.vba_project is not None:
        
        # Cetak setiap modul
       for module in presentation.vba_project.modules:
            print(module.name)
            print(module.source_code)

Hapus VBA Macros dari Presentasi PowerPoint

Untuk menghapus makro VBA, Anda perlu mengaksesnya menggunakan indeksnya. Setelah Anda memiliki referensi makro, Anda bisa menghapusnya dari koleksi. Berikut ini adalah langkah-langkah untuk menghapus makro VBA dari presentasi PowerPoint.

  • Pertama, muat presentasi PowerPoint dengan makro aktif menggunakan kelas Presentation.
  • Kemudian, hapus makro VBA menggunakan metode Presentation.vbaproject.modules.remove(Presentation.vbaproject.modules[index]).
  • Terakhir, simpan presentasi yang diperbarui menggunakan metode Presentation.save(string, SaveFormat.PPTM).

Contoh kode berikut menunjukkan cara menghapus makro VBA dengan Python.

# Muat presentasi
with slides.Presentation("presentation.pptm") as presentation:
    # Hapus makro VBA menggunakan index
    presentation.vba_project.modules.remove(presentation.vba_project.modules[0])

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

Dapatkan Lisensi Gratis

Anda dapat menggunakan Aspose.Slides for Python tanpa batasan evaluasi dengan mendapatkan lisensi sementara gratis.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara bekerja dengan makro VBA dalam presentasi PowerPoint menggunakan Python. Dengan bantuan contoh kode, kami telah mendemonstrasikan cara menambah, mengekstrak, dan menghapus makro VBA dalam presentasi PowerPoint. Selain itu, Anda dapat mengunjungi dokumentasi untuk mempelajari lebih lanjut tentang Aspose.Slides for Python. Selain itu, Anda dapat mengajukan pertanyaan dan pertanyaan melalui forum kami.

Lihat juga