Salah satu kelebihan Microsoft Word adalah adanya satu fasilitas yang bernama macro.
Fasilitas ini mempunyai fleksibilitas dimana user dapat membentuk dan mengarahkannya
untuk berbagai macam kepentingan dalam koridor otomatisasi. Dari yang sederhana
sampai yang mampu berreplikasi seperti virus macro.
Apa Sih macro itu ?
Macro merupakan kumpulan perintah - perintah dalam Word yang dirangkai menjadi satu
perintah. Sehingga pekerjaan yang berulang - ulang dapat dilakukan secara otomatis dan
mudah. Hal ini akan sangat menguntungkan ketimbang melakukan perintah - perintah
secara satu per satu dan berulang - ulang. Contoh yang sederhana misalnya pembaca
sering menuliskan suatu kata atau kalimat yang sama secara terus - menerus, maka yang
semacam ini dapat dibuatkan macronya sehingga pekerjaan mengetik menjadi lebih cepat
dan mudah serta tidak membuang - buang waktu.
Macro Bawaan Microsoft Word
Sebenarnya semua perintah - perintah yang ada dalam Word merupakan macro. Misalnya
ketika pembaca memilih menu File kemudian Save, maka Word akan menjalankan macro
yang bernama FileSave. Begitu juga ketika pembaca memilih menu Help kemudian
About Microsoft Word, maka akan dijalankan macro HelpAbout sehingga tampil kotak
About Microsoft Word. Cobalah jalankan aplikasi Word kemudian pilihlah menu Tools >
Macro > Macros, maka akan dihadapkan pada kotak dialog macros. Selanjutnya pada
kotak Macro in pilihlah Word commands, sehingga akan terlihat nama - nama macro
yang ada di Word. Pilihlah HelpAbout kemudian tekan tombol Run.
Bila seorang user membuat sebuah macro dengan nama yang sama dengan nama macro
yang telah ada dalam Word commands, maka Microsoft Word akan mendahulukan macro
yang dibuat oleh user.
Membuat Macro
Ada dua cara untuk membuat macro; menggunakan macro recorder atau menggunakan
editor Visual Basic yang telah disertakan saat pembaca menginstall Microsoft Word.
Membuat Macro Menggunakan Macro Recorder
Cara ini merupakan cara yang paling mudah dalam membuat macro. Cukup mengikuti
langkah - langkah berikut ini :
* Jalankan program Microsoft Word
* Setelah jendela Microsoft Word tampil pilihlah menu Tools > Macro > Record New
Macro
* User dihadapkan pada kotak dialog Record Macro seperti pada gambar 1. Beri nama
untuk macro yang akan user buat pada kotak Macro Name, misalnya "Percobaan1". Pada
kotak Store macro in, dapat menentukan dokumen yang akan digunakan untuk
menyimpan macro. Bila memilih Normal.dot, berarti macro akan disimpan di file
Normal.dot dan akan tetap ada setiap kali akan menjalankan Word. Bila memilih yang
kedua yaitu pada dokumen yang sedang dibuat, maka macro hanya akan ada pada
dokumen tersebut. Bila membuka dokumen yang lain atau membuat dokumen yang baru,
maka macro yang akan dibuat ini tidak akan ada. Dalam hal ini penulis memilih
Normal.dot. Setelah itu tekan tombol Ok
Bila komputer Anda digunakan beramai-ramai oleh banyak orang, Anda harus
melindungi aplikasi yang tidak boleh dipakai oleh semua orang. Nah, ada cara sederhana
agar orang lain tidak dapat menggunakan aplikasi Word seenaknya.
Kita bisa membuat sebuah aplikasi di mana bila seseorang ingin menggunakan aplikasi
Microsoft Word mereka harus memasukkan sebuah password yang telah kita tentukan.
Caranya begini:
1. Buka aplikasi Microsoft Word Anda, kemudian pilih tab [View].
2. Pada pita di bawahnya, klik tombol [Macros].
3. Setelah muncul jendela Macros, isi Macro name dengan nama AutoNew. Perlu
Gambar 1
* Kemudian pada bidang kerja Word akan terdapat tool Stop Recording dan
Pause Recording
(lihat gambar 2) dan juga pointer mouse yang berubah menjadi gambar
panah dengan gambar kaset.
Tombol Stop Recording fungsinya untuk mengakhiri proses pembuatan
macro, sedangkan tombol Pause Recording fungsinya menghentikan
sementara pembuatan macro. Pembuatan macro dapat dilanjutkan lagi bila
pembaca mengklik tombol Pause Recording untuk kali yang kedua
Gambar 2
* Sebagai contoh sederhana coba pembaca ketikkan teks berikut ini "Saat ini
* Selanjutnya pada kotak Macro name, sorotlah macro yang akan dijalankan.
Pembaca dapat memilih salah satu dari dua macro yang telah dibuat karena
keduanya akan menghasilkan hasil yang sama. Kemudian tekan tombol Run
Hasilnya pada bidang kerja Word akan terdapat tulisan tebal "Saat ini saya
sedang belajar membuat macro" yang ditambahkan secara otomatis. Jadi
pembaca tidak perlu repot - repot mengetiknya. Ini berarti menghemat
waktu dan mempercepat pembaca dalam bekerja.
Mengedit dan Mengganti Nama Macro
Macro - macro yang telah pembaca buat tersebut, dapat diganti namanya
atau diedit sesuai
kebutuhan. Kali ini kita sedikit bermain dengan macro yang telah pembaca
buat di atas :
* Klik menu Tools > Macro > Macros, atau dengan shortcut key ALT+F8, untuk
menampilkan kotak Macros
* Pada kotak Macro name pilihlah macro Percobaan1, kemudian tekan tombol
Edit
* Pembaca akan dibawa pada jendela Microsoft Visual Basic dengan kursor
berkedip - kedip pada bagian macro Percobaan1. Sebagai contoh mengedit,
ubahlah tulisan berikut ini
Selection.Font.Bold = wdToggle
menjadi
Selection.Font.Italic = wdToggle
* Sebagai contoh mengganti nama macro, ubahlah tulisan berikut ini
Sub Percobaan2()
menjadi
Sub HelpAbout()
* Selanjutnya pilih menu File > Close and return to Microsoft Word untuk
menutup aplikasi
Visual Basic dan kembali ke Word
Referensi:
1. http://pengetahuan-asikmenarik.blogspot.com/2009/11/macro-dalam-microsoftword-apa-dan.html
2. http://tekno.kompas.com/read/2009/03/30/10522211/Melindungi.Word.dengan.Pa
ssword
Belajar VB-Excel
Memulai Makro Excel
Untuk membuat Makro Excel Anda harus membuka sebuah file Microsoft Excel
(contohnya book1.xls). Selanjutnya Anda dapat membuat Makro dengan
beberapa cara :
1. Create Macro (Alt + F8)
Pertama- tama buatlah dan bukalah sebuah file Excell bernama
contoh.xls. Pada menu Tools, tunjuk Macro lalu tunjuk Macros
, kemudian klik kiri Mouse (atau tekan Alt +F8),
maka Anda telah membuat sebuah Modul Visual Basic Aplication (VBA)
bernama Module1 dan sebuah prosedur VBA bernama coba ().
Anda dapat memilih agar Makro ini bekerja di seluruh file Excel yang
terbuka (All Open Workbooks), hanya pada file yang sedang Anda buka
(This Workbooks), atau pada file contoh.xls, file Excell dimana Anda
membuat Makro-nya. Dengan cara memilih pilihan tersebut pada Macros
In.
Untuk melihat kode VBA yang telah tercatat, pada menu Tools sorot
Macro, sorot Macros.
Pilihlah ok pada Macro name: lalu tekan tombol Edit, sehingga akan
muncul tampilan sebagai berikut,
selanjutanya
Anda
bisa
menyisipkan
Module,
ClassModule
dan
Mengendalikan Range
Mengendalikan Range merupakan hal yang penting dalam pemograman VBE.
Mari kita mulai, pertama buatlah sebuah file contoh.xls. Kemudian buatlah
sebuah makro dengan cara Record New Maro,
beri nama macro tersebut dengan nama Coba, dan shortkey tombol q di
keyboard Anda.
Range("A1").Select
Merupakan perintah pada VB Excell untuk memilih range A1, bila A1 diubah
menjadi A4 maka kata coba akan dituliskan pada range A4.
ActiveCell.FormulaR1C1 = "coba"
Berarti pada sel aktif yang telah dipilih (select) rumus (Formula) coba akan
dituliskan. Activecell sendiri menunjuk pada sel dimana kursor aktif.
bila dijalankan, maka kode ini akan menghasilkan yang sama dengan sebelumnya.
Bila kita menginginkan sel yang menjadi titik pusat adalah sel dimana kursor aktif, maka
kode berikut dapat digunakan
ActiveCell.Offset(0, 0).Value = "pusat"
ActiveCell.Offset(0, 1).Value = "kiri"
ActiveCell.Offset(0, -1).Value = "kanan"
ActiveCell.Offset(1, 0).Value = "bawah"
ActiveCell.Offset(-1, 0).Value = "atas"
Sheet1.Range(A1).value=oke
Akan mengacu pada range A1 pada Worksheet Sheet1, bila kita menginginkan agar
range A1 pada Sheet2 maka ganti kode sebelumnya dengan:
Sheet2.Range(A1).value=oke
Cara penulisan lain juga dapat dilakukan, contohnya:
Set Pesan = Sheets("sheet3").Range("A1")
Set Pesan = Sheets(2).Range("A1")
Multiple Range
Kita sudah mempelajari bagaimana menujuk sebuah range tunggal sebagai
sasaran pemograman. Sekarang bagaimana bila kita menginginkan multiple
range.
Range (A1:C3).value = oke
Range(A1,D4).value = oke2
Kode-kode di atas menunjuk pada multiple range. Pada kode pertama yang
ditunjuk adalah range A1 sampai C3, sedanga yang kedua adalah A1 sampai
D4.
Range Bernama
Bagi Anda yang sering menggunakan Excel, mungkin sering memberi nama
pada sebuah range untuk mempermudah pekerjaan. Pertanyaan dapatkah
menunjuk range bernama tersebut dalam VB Excel ? jawabannya, DAPAT!!
Misalkan Anda memiliki sebuah range yang bernama sel, maka range ini dapat
ditunjuk dengan kode Range (sel), sebagai contoh:
Range (sel).value = ini sel
kedua.
Sebab
Sheet1.Range(A1).Cells(1,2).
Pesan(1,2)
sama
dengan
Perhatikan ketika kita mengetik "Module1", kemudian mengetik "." Maka akan
muncul tampilan seperti diatas. Sebuah kotak dengan sebuah gambar berwarna
hijau dengan tulisan "coba".
Pada penjelasan berikut, kita akan membuat prosedur-prosedur buatan kita
sendiri pada Worksheet dan Workbook. Mengapa? Karena kode-kode program
dalam prosedur yang kita buat di sebuah Worksheet dan Workbook tertentu, hanya
akan bekerja pada Worksheet atau Workbook tersebut. Sedang prosedur yang
tertulis pada Modules, bekerja pada Worksheet dalam Worbook yang aktif.
Sebagai contoh ketikan kode ini dalam prosedur Sub Coba() dalam Module 1:
Range("A1").Value= "coba"
kemudian sheet3,
Pada Workbook baru, bernama Book1 ini, buka Sheet1, jalankan program,
Bila Anda melanjutkan pada book1.xls-Sheet2 dan Sheet3, program yang kita buat
pada contoh.xls-Module1 akan dikerjakan pada setiap Worksheet yang aktif,
walapun Worksheet tersebut berada pada Worbook lain.
Hal ini akan merepotkan bila Anda hanya ingin program VBE yang dibuat bekerja
pada Worbook tertentu, sedang dalam pekerjaan Anda sehari-hari Anda harus
membuka banyak Workbook.
Pemograman Sheet
Untuk memulai, masuklah ke dalam Sheet1 dengan cara double klik pada windows
project, tampilan berikut akan muncul ;
Kembali ke Ms. Excell, buka Sheet1, jalankan program dengan menekan Ctrl + q ,
hasilnya adalah ;
Hapus kata "lembar1" di Sheet1, kemudian buka Sheet2, kemudian tekan Cttrl +
q, dan hasilnya adalah
range A1 tidak terisi apapun pada Sheet2, bukalah Sheet1 dan Anda akan
mendapatkan bahwa pada range A1 terdapat kata "lembar1".
akan tampil
tekan gambar segitiga yang memiliki nama Design Mode, sehingga gambar
tersebut terlihat terang
lalu kursor akan berubah menjadai tanda "+" , gunakan kursor untuk membentuk
sebuah Command Button dengan cara klik kiri pada mouse.
untuk memasukan kode maka double- clik kiri mouse pada Command Button
sehinnga Visual Basic Editor muncul
End Sub
CommandButton1_Click berarti program akan dijalankan pada saat Command
Button ditekan. Seperti terlihat bahwa prosedur ini terdapat di dalam Sheet1,
WorkSheet dimana Command Button disisipkan.
Berikut adalah salah satu contoh program
kembali ke Excel dan maitkan Design Mode dengan cara menekannya, sehingga
tampilannya tidak terang lagi,
Menggunakan UserForm
Untuk menggunakan UserForm, pertama sisipkan dahulu obyek ini kedalam
project kita.
Range("A1").Value = TextBox1.Value
Selanjutnya kembali ke Sheet1 (pada Visual Basi Editor), isikan kode beirkut di
Prosedur "lembar1",
UserForm1.Show
Kode di atas memerintahkan agar UserForm1 muncul
Sebagai catatan, karena UserForm muncul maka Anda tidak dapat menggunakan
WorkSheet pada Excel. Bila Anda menginginkan agar, bisa beralih ke WorkSheet,
maka kode berikut dapat digunakan (hanya bekerja pada Excell 2000 ke atas).
UserForm1.Show vbModeless
Auto Run
Ada beberapa cara untuk membuat macros yang kita buat berjalan secara
otomatis ketika pertama kali membuka workbook. Yang pertama adalah Auto
Open Method, yang diletakkan di modules, kedua adalah Workbook Open
Method, yang diletakkan di pada obyek Workbook (lihat penjelasan pada langkah
3). Dua Contoh kode berikut akan menampilkan pesan hi ketika Workbook
pertama kali dibuka.
Sub Auto_Open( )
Msgbox hi
End Sub
Private Sub Workbook_Open( )
Msgbox hi
End Sub
Meng-kopi Range
Contoh berikut akan meng-kopi range A1 sampai A3 ke D1 sampai D3
Sub Kopi_Range( )
Range (A1:A3).Copy Destination:=Range(D1:D3)
End Sub
Waktu Sekarang
Contoh berikut akan menampilkan waktu pada saat ini
Sub sekarang( )
Range (A1)= Now
End Sub
Sub tebal_merah( )
Selection.Font.Bold = True
Selection.Font.ColorIndex = 3
End Sub
Fungsi Excel
Menggunakan fungsi bawaan Excel dalam VBE hampir sama dengan
menggunakannya dalam Excel. Misal fungsi round untuk membulatkan sebuah
angka, dalam spreadsheet akan terlihat seperti ini
= round(1.2367, 2)
Dalam VBE Anda cukup menggunakan Application kemudian disusul fungsi yang
akan dipakai.
Sub bulat( )
ActiveCell = Application.Round(ActiveCell, 2)
End Sub
Layar Berkedip
Program dalam macros yang sedang berjalan dapat membuat layar berkedipkedip, untuk menghentikannya Anda dapat menyisipkan kode berikut.
Application.ScreenUpdating = False
Sheet(coba).Select
Untuk menuju Sheet bernama coba
Menyembunyikan WorkSheet
Kode berikut berfungsi untuk menyembunyikan Sheet1
Sheet1.Visible = xlSheetVeryHidden
Pengguna tidak dapat membuka sheet yang telah disembunyikan dengan cara
ini, hanya dengan kode VBE sheet dapat dibuka kembali.
Input Box
Kode berikut berguna untuk memunculkan Input Box
InputBox(Masukkan Nama)
Menyimpan File
Kode berikut berguna untuk menyimpan file tanpa memberi nama,
ActiveWorkbook.Save
Sedangkan bila Anda hendak memberi nama (SaveAs), gunakan kode berikut,
ActiveWorkbook.SaveAs Filename:=C:\coba.xls
Penjadwalan
Kadang-kadang kita hendak menjadwalkan sebuah tugas kepada Excel,
contohnya menyimpan file pada jam-jam tertentu. VBE dapat melakukannya
dengan menggunakan fungsi Application.OnTime. Sebagai contoh, kode
dibawah ini akan menjalankan prosedur Simpan( ) pada jam 12:00 dan 16:00,
prosedur Simpan( ) sendiri berisi perintah untuk menyimpan file,
Sub tugas()
Application.OnTime TimeValue("12:00:00"), "Simpan"
Application.OnTime TimeValue("16:00:00"), "Simpan"
End Sub
Sub Simpan()
ActiveWorkbook.Save
End Sub
Bila Anda hendak merubah jamnya, missal jam 10:03:05, maka rubah
TimeValue menjadi TimeValue(10:03:05).
Sedangkan bila Anda hendak melakukannya satu jam setelah prosedur tugas( )
dijalankan maka rubahlah kodenya seperti demikian,
Sub tugas()
Application.OnTime Now + TimeValue("01:00:00"), "Simpan"
End Sub
Perhatikan penambahan kata Now. Kode-kode di atas bekerja bila disimpan
dalam module, bula Anda ingin menyimpannya di dalam Sheet1 (atau worksheet
manapun), maka rubahlah Simpan menjadi Sheet1.Simpan