Farih.co.id
Home Produktivitas Cara Mengirim Email Dari Lembar Kerja Excel Menggunakan Skrip VBA

Cara Mengirim Email Dari Lembar Kerja Excel Menggunakan Skrip VBA

Excel Send Email Featured

Untuk mengirim email dari Microsoft Excel hanya membutuhkan beberapa script sederhana. Tambahkan fungsionalitas ini ke spreadsheet Anda, dan Anda dapat menyelesaikan lebih banyak hal di Excel.


Makro Excel dapat melakukan banyak hal yang sama dengan skrip VBA, tanpa perlu banyak pengetahuan pemrograman. VBA memungkinkan Anda menerapkan rutinitas yang lebih canggih, seperti membuat laporan spreadsheet dengan semua informasi PC Anda.

Lebih suka menonton tutorial ini sebagai video? Kami siap membantu Anda!


Mengapa Mengirim Email Dari Excel?

Ada banyak alasan mengapa Anda mungkin ingin mengirim email dari dalam Microsoft Excel.

Mungkin Anda memiliki staf yang memperbarui dokumen atau spreadsheet setiap minggu, dan Anda ingin menerima pemberitahuan email saat mereka melakukannya. Atau Anda mungkin memiliki spreadsheet kontak, dan Anda ingin mengirim satu email ke semuanya sekaligus.

Anda mungkin berpikir bahwa membuat skrip siaran email dari Excel akan rumit. Bukan itu masalahnya sama sekali. Teknik dalam artikel ini memanfaatkan fitur yang sudah lama tersedia di Excel VBA, Objek Data Kolaborasi (CDO).

Referensi Proyek VBA Microsoft CDO

CDO adalah komponen perpesanan yang digunakan di Windows sejak generasi awal OS. Dulu disebut CDONTS, dan kemudian dengan munculnya Windows 2000 dan XP, diganti dengan “CDO untuk Windows 2000”. Komponen ini sudah termasuk dalam instalasi VBA Anda dalam Microsoft Word atau Excel dan siap digunakan.

Menggunakan komponen membuat pengiriman email dari dalam produk Windows dengan VBA menjadi sangat mudah. Dalam contoh ini, Anda akan menggunakan komponen CDO di Excel untuk mengirimkan email yang akan mengirimkan hasil dari sel Excel tertentu.

Langkah 1: Siapkan Akun Gmail Anda

Untuk mengirim email dari Microsoft Excel, kami akan menggunakan Gmail, meskipun Anda dapat menyesuaikan makro di bawah untuk bekerja dengan klien email lainnya. Perhatikan bahwa Gmail tidak lagi mengizinkan akses aplikasi pihak ketiga, artinya Anda harus mengaktifkan autentikasi 2 langkah Gmail terlebih dahulu.

Dari kamu Halaman Keamanan akun Googledi bawah Masuk ke Googleklik Kata sandi aplikasi. Pada layar Kata sandi aplikasi, temukan Pilih aplikasi menu tarik-turun dan pilih Surat. Dari Pilih alatPilih Komputer Windows. Lalu klik MENGHASILKAN.

Gmail-App-Passwords-1

Catat kata sandi aplikasi 16 karakter; Anda akan membutuhkannya saat mengonfigurasi makro.

Langkah 2: Buat Makro VBA

Tip: Sebelum memulai, simpan file Excel yang akan Anda gunakan sebagai file Buku Kerja Berkemampuan Makroyaitu dalam format XLSM.

Pertama, kita memerlukan tab Pengembang Excel. Jika Anda tidak melihatnya, berikut cara mengaktifkannya:

  1. Pergi ke Berkas > Opsi.
  2. Di bawah Sesuaikan Pita > Tab UtamaPeriksalah Pengembang pilihan.
  3. Klik OKE untuk menyimpan perubahan Anda.

Menu Pita Sesuaikan Excel

Di dalam tab Pengembang Excel, klik Menyisipkan dalam kotak Kontrol, lalu pilih tombol perintah.

Pengembang Excel Menyisipkan Menu Tombol Perintah

Gambarkan ke dalam lembar lalu buat makro baru untuknya dengan mengklik Makro di pita Pengembang.

Excel-CommandButton-Macro-Menu-1

Ketika Anda mengklik Membuat tombol, itu akan membuka editor VBA.

Tambahkan referensi ke perpustakaan CDO dengan menavigasi ke Peralatan > Referensi di editor.

Menu Referensi Alat Editor Excel VBA

Gulir ke bawah daftar sampai Anda menemukan Perpustakaan CDO Microsoft untuk Windows 2000. Tandai kotak centang dan klik OKE.

Menu Referensi Editor Excel VBA

Saat Anda mengklik OKE, catat nama fungsi tempat Anda menempelkan skrip. Anda akan membutuhkannya nanti.

Langkah 3: Konfigurasi Makro Anda

Sekarang Anda siap membuat objek email dan menyiapkan semua bidang yang diperlukan untuk mengirim email. Perlu diingat bahwa meskipun banyak bidang bersifat opsional, Dari Dan Ke bidang diperlukan. Rekatkan semua cuplikan kode di bawah ini ke dalam Modul1 (Kode) jendela.

Seperti inilah tampilan kode lengkapnya:

 Sub Send_Emails()
   Dim NewMail As CDO.Message
   Dim mailConfig As CDO.Configuration
   Dim fields As Variant
   Dim msConfigURL As String
   On Error GoTo Err:

   
   Set NewMail = New CDO.Message
   Set mailConfig = New CDO.Configuration

   
   mailConfig.Load -1

   Set fields = mailConfig.fields

   
   With NewMail
       .From = "username@gmail.com"
       .To = "username@gmail.com"
       .CC = ""
       .BCC = ""
       .Subject = "Send Email From an Excel Spreadsheet"
       .TextBody = "This is the body of your email. And here is some added data:" & Str(Sheet1.Cells(2, 1))
       .Addattachment "c:\data\email.xlsx"
       .Addattachment "c:\data\email.pdf"
   End With

   msConfigURL = "http://schemas.microsoft.com/cdo/configuration"

   With fields
       .Item(msConfigURL & "/smtpusessl") = True
       .Item(msConfigURL & "/smtpauthenticate") = 1
       .Item(msConfigURL & "/smtpserver") = "smtp.gmail.com"
       .Item(msConfigURL & "/smtpserverport") = 465
       .Item(msConfigURL & "/sendusing") = 2
       .Item(msConfigURL & "/sendusername") = "username@gmail.com"
       .Item(msConfigURL & "/sendpassword") = "password"
       .Update
   End With
   NewMail.Configuration = mailConfig
   NewMail.Send
   
   MsgBox "Your email has been sent", vbInformation

Exit_Err:
   
   Set NewMail = Nothing
   Set mailConfig = Nothing
   End

Err:
   Select Case Err.Number
   Case -2147220973
       MsgBox "Check your internet connection." & vbNewLine & Err.Number & ": " & Err.Description
   Case -2147220975
       MsgBox "Check your login credentials and try again." & vbNewLine & Err.Number & ": " & Err.Description
   Case Else
       MsgBox "Error encountered while sending email." & vbNewLine & Err.Number & ": " & Err.Description
   End Select

   Resume Exit_Err

End Sub

Dan ini adalah bagian dan bidang yang perlu Anda sesuaikan:

  • Dengan Surat Baru: Bagian ini berisi semua parameter untuk mengirim email Anda, termasuk badan email Anda. Itu .Dari bidang harus berisi alamat Gmail Anda, tetapi Anda bebas menyetel bidang lain sesuka Anda. Untuk isi, Anda dapat mengumpulkan komponen pesan dengan menggunakan & string untuk memasukkan data dari salah satu lembar Microsoft Excel langsung ke pesan email, seperti yang ditunjukkan di atas. Anda juga dapat melampirkan satu atau beberapa file.
  • Dengan bidang: Di sinilah Anda mengonfigurasi pengaturan SMTP untuk akun Gmail Anda. Tinggalkan smtpserver Dan smtpserverport bidang seperti saat menyalin kode. Masukkan nama pengguna Gmail Anda dan kata sandi aplikasi 16 digit ke dalam bidang masing-masing.

Langkah 4: Uji Makro Anda

Di editor VBA, buka Jalankan > Jalankan Formulir Sub/Pengguna atau tekan F5 untuk menguji makro. Jika email Anda gagal masuk, Anda akan melihat pesan kesalahan. Jika tidak, Anda akan melihat konfirmasi bahwa email Anda berhasil dikirim.

Excel-Kirim-Email-Makro-VBA-Email-Telah-Terkirim-1

Jika Anda menerima kesalahan yang berbunyi Transportasi gagal terhubung ke serverpastikan Anda telah memasukkan nama pengguna, kata sandi, server SMTP, dan nomor port yang benar pada baris kode yang tercantum di bawahnya Dengan bidang.

Langkah 5: Hubungkan Tombol Perintah ke Script Anda

Untuk menghubungkan tombol perintah Anda ke skrip ini, buka editor kode dan klik dua kali Lembar1 untuk melihat kode VBA untuk lembar kerja itu. Pilih tombol Anda, mis Tombol Perintah1dari tarik-turun di sebelah kiri dan tentukan tindakan di sebelah kanan; Klik bekerja. Kemudian ketikkan nama fungsi tempat Anda menempelkan skrip di atas; dalam contoh kita itu Mengirim email.

Makro Kirim Email Excel untuk Tombol Perintah

Saat Anda kembali ke lembar Anda sekarang, klik tombol untuk mengirim email.

Berikut ini contoh tampilan pesan di kotak masuk Anda:

Kirim Email Dengan Excel VBA Makro Berhasil

Ambil Lebih Lanjut dan Otomatiskan Seluruh Proses

Semuanya baik dan bagus untuk dapat mengirim email dari Excel dengan satu sentuhan tombol. Namun, Anda mungkin ingin menggunakan fungsi ini secara teratur, sehingga masuk akal untuk mengotomatiskan prosesnya. Untuk melakukannya, Anda harus membuat perubahan pada makro. Buka Editor Visual Basic dan salin dan tempel keseluruhan kode yang telah Anda kumpulkan sejauh ini.

Selanjutnya, klik dua kali Buku Kerja ini dari Proyek VBA hirarki.

Dari dua bidang dropdown di bagian atas jendela kode, pilih Buku kerja dan pilih Membuka dari tarik-turun Metode.

Rekatkan skrip email di atas ke Sub Buku Kerja_Buka().

Ini akan menjalankan makro setiap kali Anda membuka file Excel.

Excel Kirim Email Saat Buku Kerja Dibuka

Selanjutnya, buka Penjadwal Tugas. Anda akan menggunakan alat ini untuk meminta Windows membuka spreadsheet secara otomatis secara berkala, di mana makro Anda akan berjalan, mengirim email.

Penjadwal Tugas Windows 11

Dari Tindakan menu, pilih Buat Tugas Dasar… dan lanjutkan melalui wizard sampai Anda mencapai Tindakan layar.

Pilih Mulai program dan klik Berikutnya. Menggunakan Jelajahi tombol untuk menemukan lokasi Microsoft Excel di komputer Anda, atau salin dan tempel jalur ke Program/skrip bidang. Kemudian, masukkan path ke dokumen Microsoft Excel Anda ke dalam Tambahkan argumen bidang. Selesaikan wizard, dan penjadwalan Anda akan dilakukan.

Ada baiknya menjalankan pengujian dengan menjadwalkan tindakan selama beberapa menit di masa mendatang, lalu mengubah tugas setelah Anda dapat mengonfirmasi bahwa tindakan tersebut berfungsi.

Catatan: Anda mungkin harus menyesuaikan pengaturan Pusat Kepercayaan untuk memastikan bahwa makro berjalan dengan baik.

Untuk melakukannya, buka spreadsheet dan arahkan ke Mengajukan > Pilihan > Pusat Kepercayaan. Dari sini, klik Setelan Pusat Kepercayaan…dan di layar berikutnya setel radio dial ke Jangan pernah menampilkan informasi tentang konten yang diblokir.

Jadikan Microsoft Excel Bekerja untuk Anda

Microsoft Excel adalah alat yang sangat kuat, tetapi mempelajari cara memanfaatkannya secara maksimal bisa sedikit menakutkan. Jika Anda ingin benar-benar menguasai perangkat lunak, Anda harus terbiasa dengan VBA, dan itu bukan tugas kecil.

Namun, hasilnya berbicara sendiri. Dengan sedikit pengalaman VBA, Anda akan segera dapat membuat Microsoft Excel melakukan tugas-tugas dasar secara otomatis, memberi Anda lebih banyak waktu untuk berkonsentrasi pada masalah yang lebih mendesak.

Comment
Share:

Leave a Reply

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

Ad