Bekerja dengan Makro VBA di Dokumen Word menggunakan Python

Visual Basic for Applications (VBA) adalah bahasa pemrograman canggih yang memungkinkan Anda mengotomatiskan tugas dalam dokumen Word. Selain itu, Anda dapat melakukan tugas berulang dengan makro VBA dengan cukup mudah. Pada artikel ini, Anda akan mempelajari cara bekerja dengan proyek dan modul VBA dalam dokumen MS Word. Secara khusus, artikel ini akan membahas cara membuat, memodifikasi, dan mengkloning makro VBA secara terprogram dengan Python.

Pustaka Python untuk Bekerja dengan Makro VBA MS Word

Untuk bekerja dengan VBA Macros di file Word, kita akan menggunakan Aspose.Words for Python. Ini adalah perpustakaan yang kuat untuk membuat dan memanipulasi dokumen Word dari dalam aplikasi Python. Anda dapat menginstal pustaka di aplikasi Anda dari PyPI menggunakan perintah pip berikut.

pip install aspose-words

Buat Makro VBA dalam Dokumen MS Word dengan Python

Berikut langkah-langkah membuat macro VBA di file DOCM MS Word menggunakan Python.

  • Muat dokumen Word atau buat yang baru menggunakan kelas Document.
  • Buat objek kelas VbaProject.
  • Tetapkan nama proyek menggunakan properti VbaProject.name.
  • Tetapkan proyek ke properti Document.vbaproject.
  • Buat objek kelas VbaModule.
  • Tetapkan nama dan jenis modul masing-masing menggunakan properti VbaModule.name dan VbaModule.type.
  • Tetapkan kode sumber menggunakan properti VbaModule.sourcecode.
  • Tambahkan modul ke proyek VBA dokumen menggunakan metode Document.vbaproject.modules.add(VbaModule).
  • Simpan dokumen menggunakan metode Document.save().

Contoh kode berikut menunjukkan cara membuat makro VBA dalam dokumen DOCM menggunakan Python.

import aspose.words as aw

# Muat dokumen Word.
doc = aw.Document("document.docm")

# Buat proyek VBA
project = aw.vba.VbaProject()
project.name = "AsposeProject"
doc.vba_project = project

# Buat modul baru dan tentukan kode sumber makro.
module = aw.vba.VbaModule()
module.name = "AsposeModule"
module.type = aw.vba.VbaModuleType.PROCEDURAL_MODULE
module.source_code = "New source code"

# Tambahkan modul ke proyek VBA.
doc.vba_project.modules.add(module)

# Simpan dokumen.
doc.save("create_vba_project.docm")

Memodifikasi Makro VBA dalam Dokumen Word dengan Python

Anda juga dapat mengakses dan memodifikasi makro VBA yang ada di dokumen Word dengan mulus. Langkah-langkah berikut menunjukkan cara mencapainya menggunakan Aspose.Words for Python.

  • Muat dokumen Word menggunakan kelas Document.
  • Dapatkan referensi VbaProject ke objek menggunakan properti Document.vbaproject.
  • Akses modul VBA yang diinginkan menggunakan indeks dan perbarui kode sumbernya menggunakan properti VbaProject.modules[int].sourcecode.
  • Simpan dokumen menggunakan metode Document.save().

Contoh kode berikut menunjukkan cara memodifikasi makro MS Word VBA yang ada menggunakan Python.

import aspose.words as aw

# Muat dokumen Word.
doc = aw.Document("document.docm")

# Dapatkan referensi proyek VBA.
project = doc.vba_project

# Perbarui kode sumber.
newSourceCode = "Test change source code"
project.modules[0].source_code = newSourceCode
    
# Simpan dokumen.
doc.save("modify_vba_macros.docm")

Kloning Makro VBA dalam Dokumen Word menggunakan Python

Dalam kasus tertentu, Anda mungkin perlu mengkloning modul VBA atau seluruh proyek VBA dari satu dokumen Word ke dokumen lainnya. Untuk mencapai ini, Aspose.Words for Python memungkinkan Anda membuat klon dengan cukup mudah. Bagian berikut membahas cara mengkloning modul VBA atau proyek VBA.

Menggandakan Modul VBA

Berikut adalah langkah-langkah untuk membuat tiruan modul VBA dari satu dokumen DOCM ke dokumen DOCM lainnya menggunakan Python.

  • Muat dokumen Word sumber menggunakan kelas Document.
  • Muat dokumen Word tujuan menggunakan kelas Document.
  • Buat VbaProject untuk dokumen Word tujuan.
  • Dapatkan clone modul VBA dari dokumen Word sumber ke objek menggunakan metode Document.vbaproject.modules.getbyname(string).clone() .
  • Tambahkan modul hasil kloning ke dokumen tujuan menggunakan metode Document.vbaproject.modules.add(VbaModule).
  • Simpan dokumen tujuan menggunakan metode Document.save().

Contoh kode berikut menunjukkan cara mengkloning modul MS Word VBA dengan Python.

import aspose.words as aw

# Muat dokumen Word sumber.
doc = aw.Document("document.docm")

# Muat dokumen Word tujuan.
destDoc = aw.Document("dest_document.docm")
destDoc.vba_project = aw.vba.VbaProject() 

# Kloning modul VBA.
copyModule = doc.vba_project.modules.get_by_name("Module1").clone()
destDoc.vba_project.modules.add(copyModule)

# Simpan dokumen.
destDoc.save("clone_vba_module.docm")

Mengkloning Proyek VBA

Berikut ini adalah langkah-langkah untuk mengkloning proyek MS Word VBA dengan Python.

  • Muat dokumen Word sumber menggunakan kelas Document.
  • Muat dokumen Word tujuan menggunakan kelas Document.
  • Dapatkan tiruan proyek VBA dari dokumen sumber menggunakan metode Document.vbaproject.clone() dan tambahkan ke dokumen tujuan menggunakan properti Document.vbaproject.
  • Simpan dokumen tujuan menggunakan metode Document.save().

Contoh kode berikut menunjukkan cara mengkloning proyek VBA dari satu dokumen Word ke dokumen lain dengan Python.

import aspose.words as aw

# Muat dokumen Word sumber.
doc = aw.Document("document.docm")

# Muat dokumen Word tujuan.
destDoc = aw.Document("dest_document.docm")

# Kloning proyek VBA.
destDoc.vba_project = doc.vba_project.clone() 

# Simpan dokumen.
destDoc.save("clone_vba_module.docm")

Dapatkan Lisensi API Gratis

Anda bisa mendapatkan lisensi sementara untuk menggunakan Aspose.Words for Python tanpa batasan evaluasi.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara membuat makro VBA di dokumen MS Word menggunakan Python. Selain itu, Anda telah melihat cara memodifikasi atau mengkloning modul atau proyek VBA yang ada secara terprogram. Selain itu, Anda dapat menjelajahi fitur lain dari Aspose.Words for Python menggunakan dokumentasi. Jika Anda memiliki pertanyaan, jangan ragu untuk memberi tahu kami melalui forum kami.

Lihat juga

Info: Jika Anda perlu mendapatkan dokumen Word dari presentasi PowerPoint, Anda dapat menggunakan pengonversi Aspose Presentation to Word Document.