Bagikan melalui


Panduan: Kode panggilan dari VBA dalam proyek Visual Basic

Panduan ini menunjukkan cara memanggil metode dalam kustomisasi tingkat dokumen untuk Microsoft Office Word dari kode Visual Basic for Applications (VBA) dalam dokumen. Prosedur ini melibatkan tiga langkah dasar: menambahkan metode ke ThisDocument kelas item host, mengekspos metode ke kode VBA, lalu memanggil metode dari kode VBA dalam dokumen.

Berlaku untuk: Informasi dalam topik ini berlaku untuk proyek tingkat dokumen untuk Excel dan Word. Untuk informasi selengkapnya, lihat Fitur yang tersedia berdasarkan aplikasi Office likasi dan jenis proyek.

Meskipun panduan ini menggunakan Word secara khusus, konsep yang ditunjukkan oleh panduan juga berlaku untuk proyek tingkat dokumen untuk Excel.

Panduan ini mengilustrasikan tugas-tugas berikut:

  • Membuat dokumen yang berisi kode VBA.

  • Mempercayai lokasi dokumen dengan menggunakan Pusat Kepercayaan di Word.

  • Menambahkan metode ke ThisDocument kelas item host.

  • Mengekspos metode ke kode VBA.

  • Memanggil metode dari kode VBA.

Catatan

Komputer Anda mungkin memperlihatkan nama atau lokasi yang berbeda untuk beberapa elemen antarmuka pengguna Visual Studio dalam petunjuk berikut. Edisi Visual Studio yang Anda miliki dan setelan yang Anda gunakan menentukan elemen-elemen ini. Untuk informasi selengkapnya, lihat Mempersonalisasi IDE Visual Studio.

Prasyarat

Anda memerlukan komponen berikut untuk menyelesaikan panduan ini:

Membuat dokumen yang berisi kode VBA

Langkah pertama adalah membuat dokumen dengan dukungan makro yang berisi makro VBA sederhana. Dokumen harus berisi proyek VBA sebelum Anda membuat proyek Visual Studio yang didasarkan pada dokumen tersebut. Jika tidak, Visual Studio tidak dapat mengubah proyek VBA untuk mengaktifkan kode VBA untuk memanggil ke perakitan kustomisasi.

Jika Anda sudah memiliki dokumen yang berisi kode VBA yang ingin Anda gunakan, Anda dapat melewati langkah ini.

Untuk membuat dokumen yang berisi kode VBA

  1. Mulai Word.

  2. Simpan dokumen aktif sebagai Dokumen Yang Diaktifkan Makro Word (*.docm) dengan nama DocumentWithVBA. Simpan di lokasi yang nyaman, seperti desktop.

  3. Pada Pita, klik tab Pengembang .

    Catatan

    Jika tab Pengembang tidak terlihat, Anda harus terlebih dahulu memperlihatkannya. Untuk informasi selengkapnya, lihat Cara: Memperlihatkan tab pengembang pada pita.

  4. Di grup Kode, klik Visual Basic.

    Editor Visual Basic terbuka.

  5. Di jendela Proyek , klik dua kali ThisDocument.

    File kode untuk ThisDocument objek terbuka.

  6. Tambahkan kode VBA berikut ke file kode. Kode ini mendefinisikan fungsi sederhana yang tidak melakukan apa-apa. Satu-satunya tujuan dari fungsi ini adalah untuk memastikan bahwa proyek VBA ada dalam dokumen. Ini diperlukan untuk langkah-langkah selanjutnya dalam panduan ini.

    Sub EmptySub()
    End Sub
    
  7. Simpan dokumen dan keluar dari Word.

Membuat proyek

Sekarang Anda bisa membuat proyek tingkat dokumen untuk Word yang menggunakan dokumen berkemampukan makro yang Anda buat sebelumnya.

Untuk membuat proyek baru

  1. Mulai Visual Studio.

  2. Pada menu File, arahkan ke Baru, lalu klik Proyek. Jika IDE Anda diatur untuk menggunakan pengaturan pengembangan Visual Basic, pada menu File , klik Proyek Baru.

  3. Di panel templat, perluas Visual Basic, lalu perluas Office/SharePoint.

  4. Pilih simpul Add-in Office.

  5. Dalam daftar templat proyek, pilih dokumen Word 2010 atau proyek Dokumen Word 2013.

  6. Dalam kotak Nama , ketik CallingCodeFromVBA.

  7. Klik OK.

    Wizard Visual Studio Tools for Office Project terbuka.

  8. Pilih Salin dokumen yang sudah ada, dan, di kotak Jalur lengkap dokumen yang sudah ada, tentukan lokasi dokumen DocumentWithVBA yang Anda buat sebelumnya. Jika Anda menggunakan dokumen berkemampuan makro Anda sendiri, tentukan lokasi dokumen ini sebagai gantinya.

  9. Klik Selesai.

    Visual Studio membuka dokumen DocumentWithVBA di perancang dan menambahkan proyek CallingCodeFromVBA ke Penjelajah Solusi.

Mempercayai lokasi dokumen

Sebelum Anda dapat mengekspos kode dalam solusi Anda ke kode VBA dalam dokumen, Anda harus mempercayai VBA dalam dokumen untuk dijalankan. Ada beberapa cara untuk melakukan ini. Untuk panduan ini, percayai lokasi dokumen di Pusat Kepercayaan di Word.

Untuk mempercayai lokasi dokumen

  1. Mulai Word.

  2. Klik tab File .

  3. Klik tombol Opsi Word.

  4. Di panel kategori, klik Pusat Kepercayaan.

  5. Di panel detail, klik Pusat Kepercayaan Pengaturan.

  6. Di panel kategori, klik Lokasi Tepercaya.

  7. Di panel detail, klik Tambahkan lokasi baru.

  8. Dalam kotak dialog Lokasi Tepercaya Microsoft Office, telusuri ke folder yang berisi proyek CallingCodeFromVBA .

  9. Pilih Subfolder lokasi ini juga tepercaya.

  10. Dalam kotak dialog Lokasi Tepercaya Microsoft Office, klik OK.

  11. Dalam kotak dialog Pusat Kepercayaan, klik OK.

  12. Dalam kotak dialog Opsi Word, klik OK.

  13. Keluar dari Word.

Menambahkan metode ke kelas ThisDocument

Sekarang setelah proyek VBA disiapkan, tambahkan metode ke ThisDocument kelas item host yang dapat Anda panggil dari kode VBA.

Untuk menambahkan metode ke kelas ThisDocument

  1. Di Penjelajah Solusi, klik kanan ThisDocument.vb, lalu klik Tampilkan Kode.

    File ThisDocument.vb terbuka di Editor Kode.

  2. Tambahkan metode berikut ke kelas ThisDocument. Metode ini membuat tabel dengan dua baris dan dua kolom di awal dokumen. Parameter menentukan teks yang ditampilkan di baris pertama. Nanti dalam panduan ini, Anda akan memanggil metode ini dari kode VBA dalam dokumen.

    Public Sub CreateTable(ByVal firstColumnHeader As String, _
        ByVal secondColumnHeader As String)
    
        Me.Paragraphs(1).Range.InsertParagraphBefore()
        Dim table1 As Word.Table = Me.Tables.Add(Me.Paragraphs(1).Range, 2, 2)
    
        With table1
            .Style = "Table Professional"
            .Cell(1, 1).Range.Text = firstColumnHeader
            .Cell(1, 2).Range.Text = secondColumnHeader
        End With
    End Sub
    
  3. Bangun proyek.

Mengekspos metode ke kode VBA

Untuk mengekspos CreateTable metode ke kode VBA dalam dokumen, atur properti EnableVbaCallers untuk ThisDocument item host ke True.

Untuk mengekspos metode ke kode VBA

  1. Di Penjelajah Solusi, klik dua kali ThisDocument.vb.

    File DocumentWithVBA terbuka di perancang.

  2. Di jendela Properti , pilih properti EnableVbaCallers , dan ubah nilainya menjadi True.

  3. Klik OK dalam pesan yang ditampilkan.

  4. Bangun proyek.

Memanggil metode dari kode VBA

Anda sekarang dapat memanggil CreateTable metode dari kode VBA dalam dokumen.

Catatan

Dalam panduan ini, Anda akan menambahkan kode VBA ke dokumen saat menelusuri kesalahan proyek. Kode VBA yang Anda tambahkan ke dokumen ini akan ditimpa saat Anda membuat proyek berikutnya, karena Visual Studio mengganti dokumen di folder output build dengan salinan dokumen dari folder proyek utama. Jika Anda ingin menyimpan kode VBA, Anda dapat menyalinnya ke dalam dokumen di folder proyek. Untuk informasi selengkapnya, lihat Menggabungkan VBA dan kustomisasi tingkat dokumen.

Untuk memanggil metode dari kode VBA

  1. Tekan F5 untuk menjalankan proyek Anda.

  2. Pada tab Pengembang , di grup Kode , klik Visual Basic.

    Editor Visual Basic terbuka.

  3. Pada menu Sisipkan , klik Modul.

  4. Tambahkan kode berikut ke modul baru.

    Kode ini memanggil CreateTable metode dalam rakitan kustomisasi. Makro mengakses metode ini dengan menggunakan CallVSTOAssembly properti ThisDocument objek. Properti ini dibuat secara otomatis saat Anda mengatur properti EnableVbaCallers sebelumnya dalam panduan ini.

    Sub CreateTable()
        Call ThisDocument.CallVSTOAssembly.CreateTable("Employee Name", "Start Date")
    End Sub
    
  5. Tekan F5.

  6. Verifikasi bahwa tabel baru telah ditambahkan ke dokumen.

  7. Keluar dari Word tanpa menyimpan perubahan Anda.

Langkah berikutnya

Anda bisa mempelajari selengkapnya tentang memanggil kode di solusi Office dari VBA dalam topik ini: