Memulai dengan VBA di Office

Apakah Anda menghadapi pembersihan berulang lima puluh tabel di Word? Apakah Anda ingin dokumen tertentu meminta input dari pengguna saat dibuka? Apakah Anda mengalami kesulitan mencari tahu cara memasukkan kontak dari Microsoft Outlook ke dalam spreadsheet Microsoft Excel secara efisien?

Anda dapat melakukan tugas-tugas ini dan menyelesaikan lebih banyak hal dengan menggunakan Visual Basic for Applications (VBA) untuk Office — bahasa pemrograman yang sederhana namun kuat yang dapat Anda gunakan untuk memperluas aplikasi Office.

Artikel ini adalah untuk pengguna Office berpengalaman yang ingin belajar tentang VBA dan yang ingin mengetahui bagaimana pemrograman dapat membantu mereka untuk menyesuaikan Office.

Paket aplikasi Office memiliki serangkaian fitur yang kaya. Ada banyak cara berbeda untuk membuat, memformat, dan memanipulasi dokumen, email, basis data, formulir, spreadsheet, dan presentasi. Kekuatan hebat pemrograman VBA di Office adalah bahwa hampir setiap operasi yang dapat Anda lakukan dengan mouse, keyboard, atau kotak dialog juga dapat dilakukan dengan menggunakan VBA. Selanjutnya, jika itu dapat dilakukan sekali dengan VBA, itu dapat dilakukan dengan mudah sebanyak seratus kali. (Sebenarnya, otomatisasi tugas yang berulang adalah salah satu penggunaan VBA yang paling umum di Office.)

Di luar kekuatan skrip VBA untuk mempercepat tugas setiap hari, Anda dapat menggunakan VBA untuk menambahkan fungsionalitas baru ke aplikasi Office atau untuk mendorong dan berinteraksi dengan pengguna dokumen Anda dengan cara yang spesifik untuk kebutuhan bisnis Anda. Misalnya, Anda bisa menulis beberapa kode VBA yang menampilkan pesan sembulan yang mengingatkan pengguna untuk menyimpan dokumen ke drive jaringan tertentu saat pertama kali mereka mencoba menyimpannya.

Artikel ini mengeksplorasi beberapa alasan utama untuk meningkatkan kekuatan pemrograman VBA. Itu mengeksplorasi bahasa VBA dan alat out-of-the-box yang dapat Anda gunakan untuk bekerja dengan solusi Anda. Akhirnya, ini mencakup beberapa tips dan cara untuk menghindari beberapa frustrasi pemrograman umum dan salah langkah.

 Catatan

Tertarik mengembangkan solusi yang memperluas pengalaman Office di berbagai platform ? Lihat model Add-in Office baru . Add-in Office memiliki jejak kecil dibandingkan dengan Add-in dan solusi VSTO, dan Anda dapat membangunnya dengan menggunakan hampir semua teknologi pemrograman web, seperti HTML5, JavaScript, CSS3, dan XML.

Kapan menggunakan VBA dan mengapa

Ada beberapa alasan utama untuk mempertimbangkan pemrograman VBA di Office.

Otomasi dan pengulangan

VBA efektif dan efisien dalam hal solusi berulang untuk masalah pemformatan atau koreksi. Misalnya, apakah Anda pernah mengubah gaya paragraf di bagian atas setiap halaman di Word? Pernahkah Anda memformat ulang beberapa tabel yang disisipkan dari Excel ke dokumen Word atau email Outlook? Pernahkah Anda melakukan perubahan yang sama di beberapa kontak Outlook?

Jika Anda memiliki perubahan yang harus Anda buat lebih dari sepuluh atau dua puluh kali, mungkin ada baiknya mengautomatisasi dengan VBA. Jika itu adalah perubahan yang harus Anda lakukan ratusan kali, itu tentu patut dipertimbangkan. Hampir semua perubahan pemformatan atau pengeditan yang dapat Anda lakukan dengan tangan, dapat dilakukan dalam VBA.

Ekstensi untuk interaksi pengguna

Ada saat-saat ketika Anda ingin mendorong atau memaksa pengguna untuk berinteraksi dengan aplikasi atau dokumen Office dengan cara tertentu yang bukan bagian dari aplikasi standar. Misalnya, Anda mungkin ingin meminta pengguna untuk mengambil tindakan tertentu ketika mereka membuka, menyimpan, atau mencetak dokumen.

Interaksi antara aplikasi Office

Apakah Anda perlu menyalin semua kontak Anda dari Outlook ke Word dan kemudian memformatnya dengan cara tertentu? Atau, apakah Anda perlu memindahkan data dari Excel ke satu set slide PowerPoint? Terkadang salin dan tempel sederhana tidak melakukan apa yang Anda inginkan, atau terlalu lambat. Anda bisa menggunakan pemrograman VBA untuk berinteraksi dengan detail dua atau lebih aplikasi Office secara bersamaan dan kemudian memodifikasi konten dalam satu aplikasi berdasarkan konten di aplikasi lain.

Melakukan sesuatu dengan cara lain

Pemrograman VBA adalah solusi yang kuat, tetapi tidak selalu merupakan pendekatan yang optimal. Terkadang masuk akal untuk menggunakan cara lain untuk mencapai tujuan Anda.

Pertanyaan kritis untuk ditanyakan adalah apakah ada cara yang lebih mudah. Sebelum Anda memulai proyek VBA, pertimbangkan alat bawaan dan fungsi standar. Misalnya, jika Anda memiliki tugas penyuntingan atau tata letak yang memakan waktu lama, pertimbangkan untuk menggunakan gaya atau kunci akselerator untuk menyelesaikan masalah. Bisakah Anda melakukan tugas sekali dan kemudian menggunakan CTRL + Y (Redo) untuk mengulanginya? Bisakah Anda membuat dokumen baru dengan format atau templat yang benar, dan kemudian menyalin konten ke dokumen baru itu?

Aplikasi kantor sangat kuat; solusi yang Anda butuhkan mungkin sudah ada di sana. Luangkan waktu untuk mempelajari lebih lanjut tentang Office sebelum Anda terjun ke pemrograman.

Sebelum Anda memulai proyek VBA, pastikan Anda memiliki waktu untuk bekerja dengan VBA. Pemrograman membutuhkan fokus dan dapat diprediksi. Terutama sebagai pemula, jangan pernah beralih ke pemrograman kecuali Anda punya waktu untuk bekerja dengan hati-hati. Mencoba untuk menulis “skrip cepat” untuk menyelesaikan masalah ketika tenggat waktu tampak dapat mengakibatkan situasi yang sangat menegangkan. Jika Anda terburu-buru, Anda mungkin ingin menggunakan metode konvensional, bahkan jika mereka monoton dan berulang-ulang.

Pemrograman VBA 101

Menggunakan kode untuk membuat aplikasi melakukan sesuatu

Anda mungkin berpikir bahwa menulis kode itu misterius atau sulit, tetapi prinsip dasar menggunakan penalaran setiap hari dan cukup mudah diakses. Aplikasi Microsoft Office dibuat sedemikian rupa sehingga mereka mengekspos hal-hal yang disebut objek yang dapat menerima instruksi, dengan cara yang sama seperti telepon dirancang dengan tombol yang Anda gunakan untuk berinteraksi dengan telepon. Saat Anda menekan tombol, telepon mengenali instruksi dan memasukkan nomor yang sesuai dalam urutan yang Anda panggil. Dalam pemrograman, Anda berinteraksi dengan aplikasi dengan mengirimkan instruksi ke berbagai objek dalam aplikasi. Objek-objek ini ekspansif, tetapi mereka memiliki batasnya. Mereka hanya dapat melakukan apa yang dirancang untuk mereka lakukan, dan mereka hanya akan melakukan apa yang Anda perintahkan.

Misalnya, pertimbangkan pengguna yang membuka dokumen di Word, membuat beberapa perubahan, menyimpan dokumen, dan kemudian menutupnya. Dalam dunia pemrograman VBA, Word memperlihatkan objek dokumen. Dengan menggunakan kode VBA, Anda dapat menginstruksikan objek Dokumen untuk melakukan hal-hal seperti Buka, Simpan, atau Tutup.

Bagian berikut membahas bagaimana objek diatur dan dijelaskan.

Model Objek

Pengembang mengatur objek pemrograman dalam hierarki, dan hierarki itu disebut model objek aplikasi. Word, misalnya, memiliki objek Aplikasi tingkat atas yang berisi objek Dokumen. Objek Dokumen berisi objek Paragraf dan sebagainya. Model objek secara kasar mencerminkan apa yang Anda lihat di antarmuka pengguna. Mereka adalah peta konseptual aplikasi dan kemampuannya.

Definisi suatu objek disebut kelas, jadi Anda mungkin melihat dua istilah ini digunakan secara bergantian. Secara teknis, kelas adalah deskripsi atau templat yang digunakan untuk membuat, atau membuat instance, suatu objek.

Setelah sebuah objek ada, Anda dapat memanipulasinya dengan mengatur propertinya dan memanggil metode-metodenya. Jika Anda menganggap objek sebagai kata benda, propertinya adalah kata sifat yang menggambarkan kata benda dan metode adalah kata kerja yang menghidupkan kata benda. Mengubah properti mengubah kualitas penampilan atau perilaku objek. Memanggil salah satu metode objek menyebabkan objek melakukan beberapa tindakan.

Kode VBA dalam artikel ini berjalan terhadap aplikasi Office terbuka di mana banyak objek yang dimanipulasi kode sudah berdiri dan berjalan; misalnya, Aplikasi itu sendiri, Lembar Kerja di Excel, Dokumen di Word, Presentasi di PowerPoint, objek Explorer dan Folder di Outlook. Setelah Anda mengetahui tata letak dasar model objek dan beberapa properti utama dari Aplikasi yang memberikan akses ke kondisi saat ini, Anda bisa mulai memperluas dan memanipulasi aplikasi Office dengan VBA di Office.

Metode

Di Word, misalnya, Anda bisa mengubah properti dan memanggil metode dokumen Word saat ini dengan menggunakan properti ActiveDocument objek Aplikasi . Properti ActiveDocument ini mengembalikan referensi ke objek Dokumen yang saat ini aktif di aplikasi Word. “Mengembalikan referensi ke” berarti “memberi Anda akses ke.”

Kode berikut melakukan apa yang dikatakannya; yaitu, menyimpan dokumen yang aktif dalam aplikasi.VBMenyalin

Application.ActiveDocument.Save

Baca kode dari kiri ke kanan, “Dalam Aplikasi ini, dengan Dokumen yang dirujuk oleh ActiveDocument, aktifkan metode Simpan .” Sadarilah bahwa Simpan adalah bentuk metode paling sederhana; itu tidak memerlukan instruksi rinci dari Anda. Anda menginstruksikan objek Dokumenuntuk Simpan dan tidak memerlukan input lagi dari Anda.

Jika suatu metode membutuhkan lebih banyak informasi, perincian itu disebut parameter. Kode berikut menjalankan metode SaveAs , yang memerlukan nama baru untuk file tersebut.VBMenyalin

Application.ActiveDocument.SaveAs ("New Document Name.docx")

Nilai yang tercantum dalam tanda kurung setelah nama metode adalah parameternya. Di sini, nama baru untuk file tersebut adalah parameter untuk metode SaveAs .

Properti

Anda menggunakan sintaks yang sama untuk mengatur properti yang Anda gunakan untuk membaca properti. Kode berikut mengeksekusi metode untuk memilih sel A1 di Excel dan kemudian mengatur properti untuk memasukkan sesuatu ke dalam sel itu.VBMenyalin

    Application.ActiveSheet.Range("A1").Select
    Application.Selection.Value = "Hello World"

Tantangan pertama dalam pemrograman VBA adalah untuk merasakan model objek dari setiap aplikasi Office dan membaca sintaks objek, metode, dan properti. Model objek serupa di semua aplikasi Office, tetapi masing-masing spesifik untuk jenis dokumen dan objek yang dimanipulasi.

Di baris pertama potongan kode, ada objek Aplikasi , Excel kali ini, dan kemudian ActiveSheet , yang menyediakan akses ke lembar kerja aktif. Setelah itu adalah istilah yang tidak terlalu dikenal, Range, yang berarti “mendefinisikan rentang sel dengan cara ini.” Kode menginstruksikan Rangeuntuk membuat dirinya sendiri hanya dengan A1 sebagai set sel yang ditentukan. Dengan kata lain, baris pertama dari kode mendefinisikan suatu objek, Range, dan menjalankan metode untuk memilihnya. Hasilnya secara otomatis disimpan di properti lain dari Aplikasi yang disebut Seleksi .

Baris kedua kode menetapkan properti Nilai Seleksi ke teks “Hello World”, dan nilai itu muncul di sel A1.

Kode VBA paling sederhana yang Anda tulis mungkin hanya mendapatkan akses ke objek di aplikasi Office yang Anda kerjakan dan mengatur properti. Misalnya, Anda bisa mendapatkan akses ke baris dalam tabel di Word dan mengubah formatnya dalam skrip VBA Anda.

Kedengarannya sederhana, tetapi ini bisa sangat berguna; setelah Anda dapat menulis kode itu, Anda dapat memanfaatkan semua kekuatan pemrograman untuk membuat perubahan yang sama di beberapa tabel atau dokumen, atau membuatnya sesuai dengan beberapa logika atau kondisi. Untuk komputer, membuat 1000 perubahan tidak berbeda dengan membuat 10, jadi ada skala ekonomi di sini dengan dokumen dan masalah yang lebih besar, dan di situlah VBA benar-benar dapat bersinar dan menghemat waktu Anda.

Macro dan Editor Visual Basic

Sekarang setelah Anda mengetahui sesuatu tentang bagaimana aplikasi Office mengekspos model objek mereka, Anda mungkin ingin mencoba memanggil metode objek, mengatur properti objek, dan merespons peristiwa objek. Untuk melakukannya, Anda harus menulis kode Anda di suatu tempat dan dengan cara yang dapat dipahami Office; biasanya, dengan menggunakan Editor Visual Basic. Meskipun diinstal secara default, banyak pengguna tidak tahu bahwa itu bahkan tersedia hingga diaktifkan pada pita.

Semua aplikasi Office menggunakan pita. Satu tab pada pita adalah tab Pengembang , tempat Anda mengakses Editor Visual Basic dan alat pengembang lainnya. Karena Office tidak menampilkan tab Pengembang secara default, Anda harus mengaktifkannya dengan menggunakan prosedur berikut:

Untuk mengaktifkan tab Pengembang

  1. Pada tab File , pilih Opsi untuk membuka kotak dialog Opsi .
  2. Pilih Kustomisasi Pita di sebelah kiri kotak dialog.
  3. Di bawah Pilih perintah dari di sebelah kiri kotak dialog, pilih Perintah Populer .
  4. Di bawah Sesuaikan Pita di sebelah kanan kotak dialog, pilih Tab Utama di kotak daftar turun bawah, lalu pilih kotak centang Pengembang .
  5. Pilih OK .

 Catatan

Di Office 2007, Anda menampilkan tab Pengembang dengan memilih tombol Office, memilih Opsi , lalu memilih tab Tampilkan Pengembang di kotak centang Pita di kategori Populerdari kotak dialog Opsi .

Setelah Anda mengaktifkan tab Pengembang , mudah untuk menemukan tombol Visual Basic dan Macro .

Gambar 1. Tombol pada tab Pengembang

Tombol pada tab Pengembang

Masalah keamanan

Untuk melindungi pengguna Office dari virus dan kode makro berbahaya, Anda tidak bisa menyimpan kode makro dalam dokumen Office standar yang menggunakan ekstensi file standar. Sebagai gantinya, Anda harus menyimpan kode dalam file dengan ekstensi khusus. Misalnya Anda tidak dapat menyimpan makro di dokumen Word standar dengan ekstensi .docx; sebagai gantinya, Anda harus menggunakan Dokumen Khusus yang Diaktifkan Makro Word dengan ekstensi .docm.

Saat Anda membuka file .docm, keamanan Office mungkin masih mencegah makro dalam dokumen dari berjalan, dengan atau tanpa memberi tahu Anda. Periksa pengaturan dan opsi di Pusat Kepercayaan pada semua aplikasi Office. Pengaturan default menonaktifkan makro dari menjalankan, tetapi memperingatkan Anda bahwa makro telah dinonaktifkan dan memberi Anda opsi untuk mengaktifkannya kembali untuk dokumen itu.

Anda dapat menetapkan folder tertentu tempat makro dapat dijalankan dengan membuat Lokasi Tepercaya, Dokumen Tepercaya, atau Penerbit Tepercaya. Opsi paling portabel adalah dengan menggunakan Penerbit Tepercaya, yang berfungsi dengan dokumen bertanda tangan digital yang Anda distribusikan. Untuk informasi lebih lanjut tentang pengaturan keamanan di aplikasi Office tertentu, buka kotak dialog Opsi , pilih Pusat Kepercayaan , lalu pilih Pengaturan Pusat Kepercayaan .

 Catatan

Beberapa aplikasi Office, seperti Outlook, secara default menyimpan makro di templat induk di komputer lokal Anda. Meskipun strategi itu mengurangi masalah keamanan lokal di komputer Anda sendiri ketika Anda menjalankan makro Anda sendiri, itu membutuhkan strategi penyebaran jika Anda ingin mendistribusikan makro Anda.

Merekam makro

Ketika Anda memilih tombol Makro pada tab Pengembang , itu membuka kotak dialog Makro , yang memberi Anda akses ke subrutin VBA atau makro yang dapat Anda akses dari dokumen atau aplikasi tertentu. Tombol Visual Basic membuka Editor Visual Basic, tempat Anda membuat dan mengedit kode VBA.

Tombol lain pada tab Pengembang di Word dan Excel adalah tombol Rekam Makro , yang secara otomatis menghasilkan kode VBA yang dapat mereproduksi tindakan yang Anda lakukan dalam aplikasi. Rekam Makro adalah alat hebat yang bisa Anda gunakan untuk mempelajari lebih lanjut tentang VBA. Membaca kode yang dihasilkan dapat memberi Anda wawasan tentang VBA dan memberikan jembatan yang stabil antara pengetahuan Anda tentang Office sebagai pengguna dan pengetahuan Anda sebagai programmer. Satu-satunya peringatan adalah bahwa kode yang dihasilkan dapat membingungkan karena editor Makro harus membuat beberapa asumsi tentang niat Anda, dan asumsi tersebut belum tentu akurat.

Untuk merekam makro

  1. Buka Excel ke Buku Kerja baru dan pilih tab Pengembang di pita. Pilih Rekam Makro dan terima semua pengaturan default di kotak dialog Rekam Makro , termasuk Makro1 sebagai nama makro dan Buku Kerja Ini sebagai lokasi.
  2. Pilih OK untuk mulai merekam makro. Perhatikan bagaimana teks tombol berubah menjadi Stop Recording . Pilih tombol itu segera setelah Anda menyelesaikan tindakan yang ingin Anda rekam.
  3. Pilih sel B1 dan ketik string pertama klasik programmer: Hello World. Berhenti mengetik dan lihat tombol Stop Recording ; itu berwarna abu-abu karena Excel sedang menunggu Anda selesai mengetik nilai dalam sel.
  4. Pilih sel B2 untuk menyelesaikan tindakan dalam sel B1, dan kemudian pilih Stop Recording .
  5. Pilih makro pada tab pengembang , pilih Macro1 jika tidak dipilih, dan lalu pilih Edit untuk melihat kode dari Macro1 di Visual Basic Editor.

Gambar 2. Kode makro dalam Editor Visual Basic

Kode makro dalam Editor Visual Basic

Melihat kodenya

Makro yang Anda buat harus terlihat mirip dengan kode berikut.VBMenyalin

Sub Macro1()
'
' Macro1 Macro
'
'
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "Hello World"
    Range("B2").Select
End Sub

Waspadai kesamaan dengan cuplikan kode sebelumnya yang memilih teks dalam sel A1, dan perbedaannya. Dalam kode ini, sel B1 dipilih, dan kemudian string “Hello World” diterapkan ke sel yang telah diaktifkan. Kutipan di sekitar teks menentukan nilai string yang bertentangan dengan nilai numerik.

Ingat bagaimana Anda memilih sel B2 untuk menampilkan tombol Stop Recording lagi? Tindakan itu muncul sebagai garis kode juga. Perekam makro merekam setiap keystroke.

Garis-garis kode yang dimulai dengan tanda kutip dan berwarna hijau oleh editor adalah komentar yang menjelaskan kode atau mengingatkan Anda dan pemrogram lain tujuan dari kode tersebut. VBA mengabaikan setiap baris, atau bagian dari suatu baris, yang dimulai dengan kutipan tunggal. Menulis komentar yang jelas dan sesuai dalam kode Anda adalah topik yang penting, tetapi diskusi itu berada di luar cakupan artikel ini. Referensi selanjutnya untuk kode ini dalam artikel tidak termasuk empat baris komentar.

Ketika perekam makro menghasilkan kode, itu menggunakan algoritma yang kompleks untuk menentukan metode dan properti yang Anda maksud. Jika Anda tidak mengenali properti yang diberikan, ada banyak sumber daya yang tersedia untuk membantu Anda. Misalnya, dalam makro yang Anda rekam, perekam makro menghasilkan kode yang merujuk ke properti FormulaR1C1 . Tidak yakin apa artinya itu?

 Catatan

Sadarilah bahwa objek Aplikasi tersirat di semua makro VBA. Kode yang Anda rekam berfungsi dengan Aplikasi. di awal setiap baris.

Menggunakan Bantuan Pengembang

Pilih FormulaR1C1 di makro yang direkam dan tekan F1. Sistem Bantuan menjalankan pencarian cepat, menentukan bahwa subjek yang sesuai ada di bagian Pengembang Excel pada Bantuan Excel, dan mencantumkan properti FormulaR1C1 . Anda dapat memilih tautan untuk membaca lebih lanjut tentang properti, tetapi sebelum melakukannya, ketahui tautan Referensi Model Objek Excel di dekat bagian bawah jendela. Pilih tautan untuk melihat daftar panjang objek yang digunakan Excel dalam model objeknya untuk menjelaskan lembar kerja dan komponennya.

Pilih salah satu dari mereka untuk melihat properti dan metode yang berlaku untuk objek tertentu, bersama dengan referensi silang ke berbagai opsi terkait. Banyak entri Bantuan juga memiliki contoh kode singkat yang dapat membantu Anda. Misalnya, Anda bisa mengikuti tautan di objek Perbatasan untuk melihat cara mengatur perbatasan di VBA.VB Menyalin

Worksheets(1).Range("A1").Borders.LineStyle = xlDouble

Mengedit kode

Kode Borders terlihat berbeda dari makro yang direkam. Satu hal yang dapat membingungkan dengan model objek adalah bahwa ada lebih dari satu cara untuk mengatasi objek yang diberikan, sel A1 dalam contoh ini.

Terkadang cara terbaik untuk mempelajari pemrograman adalah membuat perubahan kecil pada beberapa kode kerja dan melihat apa yang terjadi sebagai hasilnya. Coba sekarang. Buka Macro1 di Editor Visual Basic dan ubah kode berikut ini.VBMenyalin

Sub Macro1()
    Worksheets(1).Range("A1").Value = "Wow!"
    Worksheets(1).Range("A1").Borders.LineStyle = xlDouble
End Sub

 Tip

Gunakan Salin dan Tempel sebanyak mungkin saat bekerja dengan kode untuk menghindari kesalahan pengetikan.

Anda tidak perlu menyimpan kode untuk mencobanya, jadi kembali ke dokumen Excel, pilih Makropada tab Pengembang , pilih Macro1 , lalu pilih Jalankan . Sel A1 sekarang berisi teks Wow! dan memiliki garis batas ganda di sekitarnya.

Gambar 3. Hasil makro pertama Anda

Hasil makro pertama Anda

Anda baru saja menggabungkan rekaman makro, membaca dokumentasi model objek, dan pemrograman sederhana untuk membuat program VBA yang melakukan sesuatu. Selamat!

Tidak bekerja? Baca terus untuk saran debugging di VBA.

Memprogram tip dan trik

Mulailah dengan contoh

Komunitas VBA sangat besar; pencarian di Web hampir selalu dapat menghasilkan contoh kode VBA yang melakukan sesuatu yang mirip dengan apa yang ingin Anda lakukan. Jika Anda tidak dapat menemukan contoh yang baik, cobalah untuk memecah tugas menjadi unit-unit yang lebih kecil dan mencari masing-masing, atau mencoba memikirkan masalah yang lebih umum, tetapi serupa. Memulai dengan contoh dapat menghemat waktu Anda.

Itu tidak berarti bahwa kode gratis dan dipikirkan dengan matang ada di Web menunggu Anda untuk datang. Bahkan, beberapa kode yang Anda temukan mungkin memiliki bug atau kesalahan. Idenya adalah bahwa contoh yang Anda temukan online atau dalam dokumentasi VBA memberi Anda awal. Ingatlah bahwa mempelajari pemrograman membutuhkan waktu dan pikiran. Sebelum Anda terburu-buru menggunakan solusi lain untuk menyelesaikan masalah Anda, tanyakan pada diri Anda apakah VBA adalah pilihan yang tepat untuk masalah ini.

Buat masalah yang lebih sederhana

Pemrograman bisa menjadi kompleks dengan cepat. Sangat penting, terutama sebagai pemula, bahwa Anda memecah masalah ke unit logis sekecil mungkin, kemudian menulis dan menguji setiap bagian secara terpisah. Jika Anda memiliki terlalu banyak kode di depan Anda dan Anda menjadi bingung atau kacau, hentikan dan sisihkan masalah. Ketika Anda kembali ke masalah, salin sepotong kecil masalah ke modul baru, pecahkan bagian itu, dapatkan kodenya berfungsi, dan ujilah untuk memastikannya berhasil. Kemudian pindah ke bagian selanjutnya.

Bug dan debugging

Ada dua jenis utama kesalahan pemrograman: kesalahan sintaksis, yang melanggar aturan tata bahasa bahasa pemrograman, dan kesalahan run-time, yang terlihat benar secara sintaksis, tetapi gagal ketika VBA mencoba mengeksekusi kode.

Meskipun mereka bisa membuat frustasi untuk memperbaikinya, kesalahan sintaksis mudah ditangkap; Editor Visual Basic berbunyi bip dan berkedip pada Anda jika Anda mengetik kesalahan sintaksis dalam kode Anda.

Misalnya, nilai string harus dikelilingi oleh tanda kutip ganda dalam VBA. Untuk mengetahui apa yang terjadi ketika Anda menggunakan tanda kutip tunggal sebagai gantinya, kembali ke Editor Visual Basic dan ganti “Wow!” string dalam contoh kode dengan ‘Wow!’ (yaitu, kata Wow terlampir dalam tanda kutip tunggal). Jika Anda memilih baris berikutnya, Editor Visual Basic bereaksi. Kesalahan “Kompilasi kesalahan: Diharapkan: ekspresi” tidak begitu membantu, tetapi baris yang menghasilkan kesalahan berubah menjadi merah untuk memberi tahu Anda bahwa Anda memiliki kesalahan sintaks di baris itu dan akibatnya, program ini tidak akan berjalan.

Pilih OK dan ubah teks kembali menjadi “Wow!”.

Kesalahan runtime lebih sulit untuk ditangkap karena sintaks pemrograman terlihat benar, tetapi kode gagal ketika VBA mencoba untuk mengeksekusinya.

Misalnya, buka Editor Visual Basic dan ubah nama properti Value keValueX di Macro Anda, dengan sengaja memperkenalkan kesalahan runtime karena objek Range tidak memiliki properti yang disebut ValueX. Kembali ke dokumen Excel, buka kotak dialog Macro dan jalankan Macro1 lagi. Anda akan melihat kotak pesan Visual Basic yang menjelaskan kesalahan run-time dengan teks, “Objek tidak mendukung properti metode ini.” Meskipun teks itu jelas, pilih Debug untuk mencari tahu lebih lanjut.

Ketika Anda kembali ke Editor Visual Basic, itu dalam mode debug khusus yang menggunakan highlight kuning untuk menunjukkan kepada Anda garis kode yang gagal. Seperti yang diharapkan, baris yang menyertakan properti ValueX disorot.

Anda dapat membuat perubahan pada kode VBA yang sedang berjalan, jadi ubah ValueX kembali ke Value dan pilih tombol putar hijau kecil di bawah menu Debug . Program harus berjalan normal kembali.

Sebaiknya pelajari cara menggunakan debugger secara lebih sengaja untuk program yang lebih lama dan lebih rumit. Minimal, pelajari cara mengatur break-point untuk menghentikan eksekusi pada titik di mana Anda ingin melihat kode, cara menambahkan jam tangan untuk melihat nilai variabel dan properti yang berbeda saat kode berjalan, dan cara melangkah melalui kode baris demi baris. Semua opsi ini tersedia di menu Debug dan pengguna debugger serius biasanya menghafal pintasan keyboard yang menyertainya.

Menggunakan bahan referensi dengan baik

Untuk membuka Referensi Pengembang yang ada di Bantuan Office, buka referensi Bantuan dari aplikasi Office apa pun dengan memilih tanda tanya di pita atau dengan menekan F1. Kemudian, di sebelah kanan tombol Cari , pilih panah dropdown untuk memfilter konten. Pilih Referensi Pengembang . Jika Anda tidak melihat daftar isi di panel kiri, pilih ikon buku kecil untuk membukanya, dan kemudian rentangkan Referensi Model Objek dari sana.

Gambar 5. Pemfilteran pada bantuan Pengembang berlaku untuk semua aplikasi Office

Pemfilteran pada bantuan Pengembang berlaku untuk semua aplikasi Office

Waktu yang dihabiskan untuk menjelajahi referensi Model Objek terbayar. Setelah Anda memahami dasar-dasar sintaks VBA dan model objek untuk aplikasi Office yang Anda gunakan, Anda beralih dari menebak ke pemrograman metodis.

Tentu saja Pusat Pengembang Microsoft Office adalah portal yang sangat baik untuk artikel, tips, dan informasi komunitas.

Mencari forum dan grup

Semua programmer terkadang macet, bahkan setelah membaca setiap artikel referensi yang mereka dapat temukan dan kurang tidur di malam hari memikirkan berbagai cara untuk menyelesaikan masalah. Untungnya, Internet telah memupuk komunitas pengembang yang saling membantu menyelesaikan masalah pemrograman.

Setiap pencarian di Web untuk “forum pengembang kantor” mengungkapkan beberapa kelompok diskusi. Anda dapat mencari di “pengembangan kantor” atau deskripsi masalah Anda untuk menemukan forum, posting blog, dan artikel juga.

Jika Anda telah melakukan semua yang Anda bisa untuk menyelesaikan masalah, jangan takut untuk mengirim pertanyaan Anda ke forum pengembang. Forum-forum ini menyambut posting dari programmer baru dan banyak pengembang berpengalaman dengan senang hati membantu.

Berikut ini adalah beberapa poin etiket yang harus diikuti ketika Anda memposting ke forum pengembang:

  • Sebelum Anda memposting, lihat situs untuk FAQ atau pedoman yang anggota ingin Anda ikuti. Pastikan Anda memposting konten yang konsisten dengan pedoman tersebut dan di bagian forum yang benar.
  • Sertakan contoh kode yang jelas dan lengkap, dan pertimbangkan untuk mengedit kode Anda untuk mengklarifikasi untuk orang lain jika itu merupakan bagian dari bagian kode yang lebih panjang.
  • Jelaskan masalah Anda dengan jelas dan singkat, dan merangkum setiap langkah yang telah Anda ambil untuk menyelesaikan masalah. Luangkan waktu untuk menulis posting sebaik mungkin, terutama jika Anda bingung atau terburu-buru. Sajikan situasi dengan cara yang masuk akal bagi pembaca saat pertama kali mereka membaca pernyataan masalah.
  • Bersikap sopan dan ungkapkan penghargaan Anda.

Melangkah lebih jauh dengan pemrograman

Meskipun artikel ini singkat dan hanya menggores permukaan VBA dan pemrograman, semoga cukup untuk memulai.

Bagian ini secara singkat membahas beberapa topik penting lainnya.

Variabel

Dalam contoh sederhana dalam artikel ini Anda memanipulasi objek yang telah dibuat aplikasi. Anda mungkin ingin membuat objek sendiri untuk menyimpan nilai atau referensi ke objek lain untuk penggunaan sementara dalam aplikasi Anda. Ini disebut variabel.

Untuk menggunakan variabel dalam VBA, harus memberi tahu VBA jenis objek yang diwakili oleh variabel dengan menggunakan pernyataan Dim . Anda kemudian mengatur nilainya dan menggunakannya untuk mengatur variabel atau properti lainnya.

    Dim MyStringVariable As String
    MyStringVariable = "Wow!"
    Worksheets(1).Range("A1").Value = MyStringVariable

Percabangan dan pengulangan

Program sederhana dalam artikel ini menjalankan satu baris pada satu waktu, dari atas ke bawah. Kekuatan sebenarnya dalam pemrograman berasal dari opsi yang Anda harus menentukan baris kode mana yang harus dijalankan, berdasarkan pada satu atau lebih kondisi yang Anda tentukan. Anda dapat memperluas kemampuan itu lebih jauh ketika Anda dapat mengulangi operasi berkali-kali. Misalnya, kode berikut ini memperluas Macro1.

Sub Macro1()
    If Worksheets(1).Range("A1").Value = "Yes!" Then
        Dim i As Integer
        For i = 2 To 10
            Worksheets(1).Range("A" & i).Value = "OK! " & i
        Next i
    Else
        MsgBox "Put Yes! in cell A1"
    End If
End Sub

Ketik atau rekatkan kode ke Editor Visual Basic dan kemudian jalankan. Ikuti petunjuk di kotak pesan yang muncul dan ubah teks di sel A1 dari Wow! untuk Ya! dan jalankan lagi untuk melihat kekuatan perulangan. Cuplikan kode ini menunjukkan variabel, percabangan dan pengulangan. Baca dengan cermat setelah Anda melihatnya beraksi dan cobalah untuk menentukan apa yang terjadi ketika setiap baris dieksekusi.

Semua aplikasi Office saya: contoh kode

Berikut beberapa skrip untuk dicoba; masing-masing memecahkan masalah Office dunia nyata.

Buat email di Outlook

Sub MakeMessage()
    Dim OutlookMessage As Outlook.MailItem
    Set OutlookMessage = Application.CreateItem(olMailItem)
    OutlookMessage.Subject = "Hello World!"
    OutlookMessage.Display
    Set OutlookMessage = Nothing
End Sub

Perlu diketahui bahwa ada situasi di mana Anda mungkin ingin mengotomatiskan email di Outlook; Anda dapat menggunakan templat juga.

Hapus baris kosong di lembar kerja Excel

Sub DeleteEmptyRows()
    SelectedRange = Selection.Rows.Count
    ActiveCell.Offset(0, 0).Select
    For i = 1 To SelectedRange
        If ActiveCell.Value = "" Then
            Selection.EntireRow.Delete
        Else
            ActiveCell.Offset(1, 0).Select
        End If
    Next i
End Sub

Perlu diketahui bahwa Anda dapat memilih kolom sel dan menjalankan makro ini untuk menghapus semua baris di kolom yang dipilih yang memiliki sel kosong.

Hapus kotak teks kosong di PowerPoint

Sub RemoveEmptyTextBoxes()
    Dim SlideObj As Slide
    Dim ShapeObj As Shape
    Dim ShapeIndex As Integer
    For Each SlideObj In ActivePresentation.Slides
        For ShapeIndex = SlideObj.Shapes.Count To 1 Step -1
            Set ShapeObj = SlideObj.Shapes(ShapeIndex)
            If ShapeObj.Type = msoTextBox Then
                If Trim(ShapeObj.TextFrame.TextRange.Text) = "" Then
                    ShapeObj.Delete
                End If
            End If
        Next ShapeIndex
    Next SlideObj
End Sub

Ketahuilah bahwa kode ini memotong semua slide dan menghapus semua kotak teks yang tidak memiliki teks apa pun. Variabel jumlah berkurang bukan kenaikan karena setiap kali kode menghapus objek, ia menghapus objek itu dari koleksi, yang mengurangi jumlah.

Salin kontak dari Outlook ke Word

Sub CopyCurrentContact()
   Dim OutlookObj As Object
   Dim InspectorObj As Object
   Dim ItemObj As Object
   Set OutlookObj = CreateObject("Outlook.Application")
   Set InspectorObj = OutlookObj.ActiveInspector
   Set ItemObj = InspectorObj.CurrentItem
   Application.ActiveDocument.Range.InsertAfter (ItemObj.FullName & " from " & ItemObj.CompanyName)
End Sub

Ketahuilah bahwa kode ini menyalin kontak yang sedang terbuka di Outlook ke dokumen Word yang terbuka. Kode ini hanya berfungsi jika ada kontak yang saat ini terbuka untuk diperiksa di Outlook.

Dukungan dan umpan balik

Punya pertanyaan atau umpan balik tentang Office VBA atau dokumentasi ini? Silakan lihat dukungan Office VBA dan umpan balik untuk panduan tentang cara Anda dapat menerima dukungan dan memberikan umpan balik.

Sumber: https://docs.microsoft.com/en-us/office/vba/library-reference/concepts/getting-started-with-vba-in-office

Leave a Reply

Your email address will not be published. Required fields are marked *