Minggu, 04 April 2021

Gmail Merge dengan Libreoffice untuk mbuat sertifikat lalu dikirim ke email masing-masing

Bismillah

Awal mula aku nulis ini, karena pas seminggu yang lalu, pas aku jadi panitia seminar online, aku mau mengirimkan sertifikat. Nah, aku ingat, dulu pernah begitu juga, tapi agak lupa bagaimana caranya. Setelah tak lihat lagi di google drive, alhamdulillah masih ada file google sheet nya. Lalu bagaimana caranya? sempat beberapa kali kok ndak jalan scriptnya? eh, ternyata di kolom Email Sent nya belum tak hapus. Setelah dihapus alhamdulillah bisa lagi.

Ada dua bagian di tulisanku ini.

Pertama, mbuat sertifikatnya dan otomatis nyimpan dengan nama masing-masing orang. Ini aku pakai Libreoffice Writer. Kamu bisa ndownload gratis dari sini: https://www.libreoffice.org/download/download/. Kalau kamu masih pakai linux yang 32 bit dan ndak ada di situ, kamu bisa juga nyari di arsip yang dulu-dulu dari libreoffice. Versi terakhir yang disediakan documentfoundation untuk debian 32 bit dan turunannya itu adalah versi 6.2.8.2 dari sini: https://downloadarchive.documentfoundation.org/libreoffice/old/6.2.8.2/deb/x86/.

Kedua, ngirim dengan gmail ke alamat email masing-masing peserta satu per satu. Jadi mereka hanya menerima sertifikat punya mereka sendiri. Mereka juga ndak tahu alamat email peserta lain. Silakan klik link google sheet berikut ini untuk mengcopy file Gmail merge sertifikat ke drive kamu.

https://docs.google.com/spreadsheets/d/1K7rdbzlvU6web-MBQuX5lvSJUX6wTzxL9BJsWC3atsk/copy


Okay, kita mulai bagian pertama, yaitu mbuat sertifikat dengan nama file nama masing-masing peserta dan disimpan dalam bentuk pdf. Pertama buat templatenya dulu pakai Libreofficemu, misalnya kayak gini:

Download form responses dari google form daftar hadir seminar sebagai file .ods atau .xlsx. Kamu bisa membuat autofilter juga biar tabelnya urut per nama, tapi kalau tidak di-autofilter juga ndak papa. Google form yang mana? Kamu ndak bingung kan? Biasanya di seminar online itu ada link daftar hadir kan? Nah itu, kalau pakai google form, ada namanya form responses. Download itu sebagai .ods atau .xlsx. Begitu.

 

Hubungkan file sertifikat .odt kita dengan file .ods tadi dengan klik Edit, Exchange Database. Saran saja sih, akan lebih enak kalau nyimpan kedua file itu di tempat yang sama atau berdekatan. Biar ndak sulit nyarinya.

 

Browse, cari file .ods tadi (spreadsheet atau excel .xlsx), lalu klik Define.

 

Lihat field yang ada di database kita, yaitu file ods tadi. Fieldnya adalah baris pertama dari file kita. Cara melihat fieldnya dengan klik View, Data sources, atau bisa dengan shortcut Ctrl+Shift+F4.

 

Drag (klik kiri, tahan, geser) header Nama lengkap dan gelar (atau apapun yang menunjukkan nama peserta yang akan ada di sertifikat). Drag ke posisi nama yang sesuai dengan di posisi sertifikatnya.

 

Sehingga sekarang nama peserta yang di template berganti dengan field nama dari database kita. Pas sekarang ini kamu bisa mengganti-ganti nama pesertanya dengan menekan tombol panah ke kanan atau ke kiri yang ada di toolbar mailmerge yang muncul.


Sekarang di bagian ajaibnya. InsyaAllah, kamu akan terpesona dengan bagian canggih ini. Libreoffice akan menyimpankan setiap file pdf dengan nama masing-masing peserta secara otomatis. Subhanallah, canggih banget. Tekan File, Print, atau bisa dengan shortcut Ctrl+P.

 

Muncul jendela bahwa di dokumenmu ada field database. Klik Yes.

 

Di jendela Mail Merge, pilih Outputnya File, lalu simpan sebagai individual document, lalu simpan dengan nama sesuai Fieldnya, kita pilih nama lengkap dan gelar. Ini disesuaikan dengan field di file .ods kita. Path itu nyimpannya mau di mana. Lalu file format, kita pilih PDF. Terakhir, kalau sudah semua, klik OK.

 

Sesuai dengan Path, lokasi menyimpan file ini, pas kita cek, akan ada banyak file pdf sudah jadi di situ.


Coba kita buka salah satunya untuk mengecek apakah betul. Dan Okay, alhamdulillah sudah jadi semua.

 

Sekarang saatnya menguploadnya ke google drive kita. Ini sudah masuk bagian kedua dari tutorial ini, Sahabat. Upload ke folder baru. Misalkan di sini aku mbuat folder jadi. Lalu aku upload semua pdfnya ke sana. Selanjutnya kita dapatkan link dari folder jadi dengan cara seperti ini.


Lalu ambil bagian kodenya saja (id nya), misalnya

https://drive.google.com/drive/folders/1KLU8pewEVsoSWoHUCHwIQVeE6wuLwBjZ?usp=sharing

maka yang diambil adalah bagian

1KLU8pewEVsoSWoHUCHwIQVeE6wuLwBjZ

saja. Copy kode itu, lalu kita ke google sheet, ke file gmail merge sertifikat yang tadi sudah kita salin ke drive kita. Kalau lupa, tak taruh di sini lagi:

https://docs.google.com/spreadsheets/d/1K7rdbzlvU6web-MBQuX5lvSJUX6wTzxL9BJsWC3atsk/copy 

Di menubar, ada Mail Merge. Klik Mail Merge, List files in the folder, lalu pastekan kode kita tadi, contohnya yang ini. 

 

Kalau pas ini muncul peringatan perizinan, authorization, izinkan dulu ya, biar scriptnya bisa jalan. Klik Continue.


Klik Advanced, Klik Go to Gmail/Sheets Mail Merge (unsafe).


Klik izinkan, Allow.


Setelah dapat izin dari kamu, klik lagi di menubar, Mail Merge, List files in the folder, lalu masukkan kode tadi: 1KLU8pewEVsoSWoHUCHwIQVeE6wuLwBjZ (ini hanya contoh lho ya.. aslinya sesuaikan dengan punyamu)

Klik Ok.


Kalau ndak ada masalah, akan muncul sheet baru secara otomatis. Di situ ada kolom File Name, dan ada kolom File ID. Ini sebenarnya alamat dari file-file pdfnya.

Langkah selanjutnya, kita ambil namanya saja, tidak pakai ekstensi .pdf. Ini akan memudahkan kita, karena tadi kita nyimpannya di libreoffice nama filenya adalah nama pesertanya. Cara menghilangkan .pdf di kolom F adalah dengan formula begini =left(B2, len(B2)-4). Copy paste untuk semua baris di kolom F.


Di kolom A, kita isi dengan nama peserta. Kita copy seluruh baris dari kolom F, lalu kita paste values only di kolom A.


Kita lanjutkan ke sheet sebelumnya. Sekarang di kolom Nama, kita isikan nama peserta dan kolom Recipient dengan email masing-masing peserta sesuai dengan yang di spreadsheet kita, file .ods atau .xlsx tadi.

Untuk di kolom Attachment ID, kita isi dengan vlookup. Sesuaikan dengan nama sheet yang tadi jadi rujukan. Jangan lupa bagian terakhirnya kita isikan false agar vlookup ndak selalu harus dalam posisi urut dari A ke Z. Kadang-kadang kalau ndak ditambahi false di terakhir akan salah nge-lookup nya.


Selanjutnya, kita buka gmail kita. Buat email baru yang ini menjadi template kita nanti ke email masing-masing peserta. Pastika judul dan isinya betul sebelum ngirim. Di sini, kamu bisa memasukkan field sesuai dengan di google sheet Gmail Merge Sertifikat. Caranya dengan menambahkan dua kurung kurawal di awal dan di akhir nama fieldnya. Sebagai contoh, aku menambahkan field {{Nama}}. Ini agar lebih sopan, dengan menyapa peserta seminar. Kamu juga bisa menambahkan field-field lain sesuai seleramu.

Di draft ini juga, kamu bisa menambahkan tautan yang berisi materi presentasi dari google drive. Semua peserta bisa mendapatkan file ini dengan cara menautkannya di template itu juga.

Terakhir, tutup dengan menekan x di pojok kanan dari compose ini. Sebelum menutupnya, copy subject dari template ini. Ini akan kita pergunakan di Gmail Merge sertifikat. Kalau di contoh gambar ini, aku blok dan copy Sertifikat Pembelajaran Kelola Plastik STKIP Surya.


Kita ke Gmail Merge sertifikat. Klik menubar Mail Merge, Send Emails. Jika muncul jendela Mail Merge seperti di bawah ini, kita pastekan judul draft template yang tadi kita buat. Klik Ok.


Jika ndak ada masalah, maka di kolom Email Set akan otomatis terisi baris per baris. Setiap kali proses di tiap baris, maka di sebelah kanan bawah akan muncul informasi bahwa email ini sudah terkirim, dan sisa mail merge kamu. Maksimal dalam sehari kita hanya bisa mengirim ke seratus (100) alamat email. Jadi kalau kamu ingin mengirim ke lebih dari 100 email, sebaiknya kamu kirim dari akun email yang berbeda. Kamu pecah databasenya jadi beberapa partisi per seratus.


Terakhir di gmail kita, coba kita cek di Sent mail, maka sudah muncul email itu. Alhamdulillah berhasil.

 

Begitu saja dulu ya Sahabat. Semoga bermanfaat. Selamat mencoba.

Wassalaamu'alaikum wa rahmatullaah wa barakaatuh.

;D