Maret 29, 2009

Macro Pada Microsoft Excel

Om Ipul (Teman saya) seorang guru agama yang udah nyoba bikin data murid elektronik menggunakan Microsoft Excel. Kebetulan didalam file tersebut ada formula-formula yang berkaitan dengan penggunaan tanggal. Dan kebetulan lagi, baterai BIOS Mobo-nya udah abis, sehingga tanggal terus-terusan kembali ke 1-1-2002. So dipastikan formula dalam excelnya jadi gak karuan. Pernah sekali dia lupa men-setting tanggal kemudian langsung mencetak. Yah ancur dah.
Ide om Ipul sederhana, dia cuma mau setiap dia membuka filenya, akan tampil sebuah pesan yang menanyakan validitas tanggal. Oke om... berikut langkah yang dapat ditempuh menurut pengalaman saya:

Di excel ada yang namanya macro. Macro excel sederhananya adalah aktivitas pada excel yang dilakukan otomatis. Untuk membuat macro yang paling mudah adalah dengan merekamnya (Tool-Macro-Record New Macro) namun hal ini terbatas pada pekerjaan yang sifatnya rutinitas, lebih dari itu kita harus paham sedikit mengenai bahasa pemrograman khususnya VBA. Dalam kasus om Ipul, solusi paling sederhana adalah dengan menampilkan pesan peringatan setiap kali membuka Workbook yang bersangkutan jika tanggal terakhir file tersebut diakses lebih baru dari tanggal di komputer.
  • Bukalah Workbook yang ingin dibuatkan macro tersebut.
  • Tekan ALT + F11. Akan tampil Visual Basic Editor.
  • Lalu pilih menu Insert, dan submenu Module.
  • Pada tampilan jendela modul yang baru saja muncul tersebut, masukkan kode berikut:

    Sub Auto_Open()
    Dim INFO As String
    INFO = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
    Dim fs, f, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFile(INFO)
    s = f.DateLastAccessed
    If s > Now Then
    MsgBox s & vbCrLf & "Sebaiknya Tanggal diubah diubah dulu"
    Dim Wsh
    Set Wsh = CreateObject("WScript.Shell")
    Wsh.Run "control timedate.cpl"
    Set Wsh = Nothing
    Application.Quit
    End If
    Set fs = Nothing
    End Sub
  • Setelah selesai, tekan ALT + Q, dan tutup Excel dengan menyimpan (Save) dokumen tersebut.

Pada saat File tersebut dibuka, maka macro tadi akan dijalankan secara otomatis. Sebuah pesan peringatan akan tampil jika tanggal pada komputer lebih lama dari tanggal file terakhir diakses. Jika hal itu terjadi, maka file akan ditutup dan pengaturan Tanggal akan ditampilkan.

Untuk diingat, Excel secara default memblok macro yang kita buat. Untuk menghindari ini kita dapat saja mengatur macro security pada Excel menjadi Low alias gak ada pembatasan. Namun ini agak beresiko. Lebih baik pemblokiran makro kita lakukan dengan membuat "Certificate" untuk macro kita.

Untuk pembuatan Certificate Macro akan saya bahas dilain tulisan (itupun jika ada yang nanya). Dan satu hal lagi, kebanyakan anti virus akan memblokir setiap kata CreateObject("WScript.Shell") pada setiap program, ini lumrah. Untuk macro kita ini, aturlah agar anti virus kita "adem-adem aja" saat macro dijalankan. Om Ipul, sukses ya!!!!

1 komentar:

Art3mis Mordred mengatakan...

Terimakasih informasinya min, ditunggu kunjungan baliknya : Kumpulan Artikel History, Technology, Biography, Science, Myth, Fact, Tips and Trick

Posting Komentar