Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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:
Edisi Visual Studio yang menyertakan alat pengembang Microsoft Office. Untuk informasi selengkapnya, lihat Mengonfigurasi komputer untuk mengembangkan solusi Office.
Microsoft Word
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
Mulai Word.
Simpan dokumen aktif sebagai Dokumen Yang Diaktifkan Makro Word (*.docm) dengan nama DocumentWithVBA. Simpan di lokasi yang nyaman, seperti desktop.
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.
Di grup Kode, klik Visual Basic.
Editor Visual Basic terbuka.
Di jendela Proyek , klik dua kali ThisDocument.
File kode untuk
ThisDocument
objek terbuka.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
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
Mulai Visual Studio.
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.
Di panel templat, perluas Visual Basic, lalu perluas Office/SharePoint.
Pilih simpul Add-in Office.
Dalam daftar templat proyek, pilih dokumen Word 2010 atau proyek Dokumen Word 2013.
Dalam kotak Nama , ketik CallingCodeFromVBA.
Klik OK.
Wizard Visual Studio Tools for Office Project terbuka.
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.
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
Mulai Word.
Klik tab File .
Klik tombol Opsi Word.
Di panel kategori, klik Pusat Kepercayaan.
Di panel detail, klik Pusat Kepercayaan Pengaturan.
Di panel kategori, klik Lokasi Tepercaya.
Di panel detail, klik Tambahkan lokasi baru.
Dalam kotak dialog Lokasi Tepercaya Microsoft Office, telusuri ke folder yang berisi proyek CallingCodeFromVBA .
Pilih Subfolder lokasi ini juga tepercaya.
Dalam kotak dialog Lokasi Tepercaya Microsoft Office, klik OK.
Dalam kotak dialog Pusat Kepercayaan, klik OK.
Dalam kotak dialog Opsi Word, klik OK.
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
Di Penjelajah Solusi, klik kanan ThisDocument.vb, lalu klik Tampilkan Kode.
File ThisDocument.vb terbuka di Editor Kode.
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
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
Di Penjelajah Solusi, klik dua kali ThisDocument.vb.
File DocumentWithVBA terbuka di perancang.
Di jendela Properti , pilih properti EnableVbaCallers , dan ubah nilainya menjadi True.
Klik OK dalam pesan yang ditampilkan.
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
Tekan F5 untuk menjalankan proyek Anda.
Pada tab Pengembang , di grup Kode , klik Visual Basic.
Editor Visual Basic terbuka.
Pada menu Sisipkan , klik Modul.
Tambahkan kode berikut ke modul baru.
Kode ini memanggil
CreateTable
metode dalam rakitan kustomisasi. Makro mengakses metode ini dengan menggunakanCallVSTOAssembly
propertiThisDocument
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
Tekan F5.
Verifikasi bahwa tabel baru telah ditambahkan ke dokumen.
Keluar dari Word tanpa menyimpan perubahan Anda.
Langkah berikutnya
Anda bisa mempelajari selengkapnya tentang memanggil kode di solusi Office dari VBA dalam topik ini:
Kode panggilan dalam kustomisasi Visual C# dari VBA. Proses ini berbeda dari proses Visual Basic. Untuk informasi selengkapnya, lihat Panduan: Kode panggilan dari VBA dalam proyek Visual C#.
Kode panggilan dalam Add-in VSTO dari VBA. Untuk informasi selengkapnya, lihat Panduan: Kode panggilan di Add-in VSTO dari VBA.