Skip to main content

Mengirim Email Menggunakan Referensi VBA untuk Outlook di Access

Dengan menggunakan referensi VBA untuk Outlook, kita bisa mengirim email via Access. Jadi, misalnya sebuah database Access mempunyai sebuah tabel yang di dalamnya berisi alamat email, entah itu email pelanggan, email pengguna Access, atau email dari pihak lainnya, maka kita bisa membuat semacam format email standard.

Pada perusahaan yang sudah terbiasa menggunakan email sebagai sarana paling efisien dalam mengirimkan dokumen elektronik, maka format standar sebuah email sangat diperlukan. Sebagai misal, jika kita belanja menggunakn kartu kredit sebagai alat pembayaran, maka pihak bank penyedia kartu kredit setiap bulannya akan mengirimkan tagihan kartu kredit kepada pelanggannya yang telah diatur formatnya, seperti contoh pada gambar di bawah ini.


Pada gambar di atas, Bank BCA sebagai penyedia kartu kredit tentu tidak mungkin menuliskan email satu per satu secara manual untuk mengirimkan tagihan kartu kredit ke pelanggan yang jumlahnya jutaan orang. Mereka mempunyai mekanisme, yaitu dengan membuat format penulisan email secara terprogram.

Di Access, kita juga bisa membuat mekanisme seperti itu. Misalnya, membuat standar penulisan email yang dikirimkan ke pelanggan, karyawan, atau mungkin ke pemasok untuk membeli barang-barang kebutuhan perusahaan.

Untuk membuat standar penulisan email yang bisa dikirim via Access, caranya cukup mudah. Ikuti saja langkah-langkah berikut ini:

  1. Buatlah sebuah form dengan menggunakan Blank Form atau Form Design. 
  2. Sisipkanlan sebuah Text Box dengan properti Name= txtAlamatEmail, digunakan untuk menuliskan alamat email, misalnya contoh@gimail.com
  3. Sisipkanlan sebuah Text Box dengan properti Name= txtSubjek, digunakan untuk menuliskan subjek email, misalnya seperti gambar di atas: Electronic Statement Kartu Kredit BCA
  4. Sisipkanlan sebuah Text Box dengan properti Name= txtLampiran, digunakan untuk melampirkan file.
  5. Sisipkanlan sebuah Text Box dengan properti Name= txtIsiEmail, digunakan untuk memberikan penjelasan atau isi email.
  6. Caption Label untuk keempat Text Box di atas dapat diisi sesuka hati. 
  7. Pada sisi kanan txtLampiran, sisipkan sebuah tombol perintah (Command Button) dengan properti Name=cmdPilihFile dan gambar folder terbuka (lihat gambar bawah). Tombol ini digunakan untuk mengisikan lokasi path dari file yang ada di txtLampiran.
  8. Sisipkanlah tombol perintah (Command Button) dengan properti Name=cmdKirim dan Caption= Kirim
Lihat gambar di bawah ini:


Pada gambar di atas, kotak warna merah adalah Name dari masing-masing control seperti dijelaskan di atas. Selanjutnya, salinlah kode VBA berikut ini di modul form (class module):
Private Sub cmdPilihFile_Click()
  Me.txtLampiran = kotakFileDialog(Nz(Me.txtLampiran, ""))
  Me.txtLampiran.SetFocus
End Sub

Private Sub cmdKirim_Click()
  Dim Olk As Outlook.Application
  Dim olkAlamatEmail As Outlook.Recipient
  Dim olkMsg As Outlook.MailItem
  Set Olk = CreateObject("Outlook.Application")
  Set olkMsg = Olk.CreateItem(olMailItem)
  With olkMsg
    Set olkAlamatEmail = .Recipients.Add(Me.txtAlamatEmail)
    olkAlamatEmail.Type = olTo
    .Attachments.Add (Me.txtLampiran)
    .Subject = Me.txtSubjek
    .Body = Me.txtIsiEmail
'Gunakan perintah Send di bawah ini, dengan menghapus tanda petik tunggal, 
'untuk mengirimkan email tanpa perlu menampilkan jendela write email
'    .Send
'Bila perintah Send di atas diaktifkan maka perintah Display di bawah harus dinonaktifkan
'Tambahkan tanda petik tunggal di bagian paling kiri untuk menonaktifkan
    .Display
  End With
  Set Olk = Nothing
  Set olkMsg = Nothing
  Set olkAlamatEmail = Nothing
End Sub
Pada kode di atas, kotakFileDialog adalah fungsi untuk membuka file. Silakan baca Membuat Sendiri FIle Dialog Menggunakan VBA di MS Access untuk mengetahui fungsi itu dengan lebih detail. Supaya kode VBA di atas dapat dijalankan, aktifkan terlebih dulu referensi untuk MS Outlook dengan menekan menu Tools➪References, beri tanda centang pada Microsoft Outlook Object Library (minimum 12.0) untuk mengaktifkan kode VBA yang berhubungan dengan MS Outlook dan Microsoft Office Object Library (minimum 12.0) untuk mengaktifkan kode VBA yang berhubungan dengan MS Office.

Berikut ini adalah contoh berupa gambar dari Form View untuk mengirim email via Access.


Microsoft Outlook mempunyai standar keamanan bawaan yang digunakan untuk mencegah pengguna mengirimkan email dalam jumlah besar secara bersamaan. Jadi saat kita menekan tombok Kirim, maka pesan keamanan di MS Outlook akan ditampilkan, seperti gambar di atas . Untuk setiap email yang dibuat dengan menggunakan program yang diotomatisasi dan hendak dikirim, Outlook  akan meminta konfirmasi manual yang menunjukkan bahwa si pengirim adalah manusia, bukan robot program.

Untuk memerintahkan Outlook mengirim email yang dibuat via Access, kita harus membuka aplikasi Outlook terlebih dahulu. Dengan demikian, begitu aplikasi/program email dari Access dijalankan, data dari Access akan langsung dikirim keluar dengan menggunakan Outlook. Bila Outlook belum dibuka, maka data dari Access masih tersimpan di folder Outbox, menunggu sampai Outlook dibuka.

Gambar di bawah ini adalah contoh email yang dikirimkan ke alamat email yang dibuat menggunakan MS Access seperti gambar di atas.


Mengirimkan email yang dibuat terlebih dahulu melalui MS Access mempunyai kelebihan, terutama dalam hal kepraktisan. Sebagai contoh, kita dapat menggabungkan sebuah aplikasi yang bisa memproses tagihan menjadi dokumen eletronik berupa pdf seperti dijelaskan di posting yang berjudul Membuat File Excel, PDF, RTF, dan HTML Menggunakan DoCmd.OutputTo di MS Access VBA untuk menjadi lampiran. Setelah itu, dengan form email seperti gambar di atas, kita bisa menuliskan alamat email, subjek, lampiram file pdf, dan isi email yang kemudian akan dikirim langsung tanpa menggunakan banyak sentuhan tangan manusia (manual), persis seperti gambar tagihan elektronik dari BCA pada gambar di atas.

Bagi pembaca yang ingin memperolah file sample email yang dibuat dengan menggunakan kode VBA, silakan ikuti petunjuk di bawah ini:
  1. Ikuti blog Access Terapan di Facebook dengan mem-follow atau me-like FB page di https://www.facebook.com/AccessTerapan atau follow Google Blog Follower. 
  2. Kirim email ke admin yanto.e.subroto@gmail.com untuk diikutsertakan menjadi anggota grup Access Terapan. 
  3. Sebagai tanda bukti keanggotaan, admin grup Access Terapan akan mengirimkan email ke alamat yang dituju. 
  4. Selanjutnya, silakan download dengan mengklik link berikut ini: Email.zip

Comments

  1. saat dikirim ko error yah pak? makronya malah debug dengan tulisan run time error, application defined or object defined error

    ReplyDelete
    Replies
    1. Bisa kok. Kalau mau contoh lengkapnya, silakan mem-follow atau me-like FB page di https://www.facebook.com/AccessTerapan. Setelah itu kirim akun Facebook yang menunjukkan bahwa kamu telah mem-follow atau me-like FB page ke alamat email admin di atas.

      Delete

Post a Comment

Posting Terpopuler

Normalisasi, Denormalisasi, dan Anomali Database

Format Untuk Field Dengan Tipe Data Number dan Currency di MS Access

Mengenal Jenis dan Kegunaan Layout Pada Form di Access