- Persiapan Peelaksanaan Pembelajaran Jarak Jauh (PJJ) Jilid 2
- Guru, Jadilah Mercusuar Dimasa Covid-19
- Selamat Natal dan Tahun Baru 2021
- BERIKLAN DALAM RUANG WEB INFORMASI GURU DAN PENDIDIKAN PGRITABANAN.OR.ID
- Kegiatan KONKAB PGRI TABANAN Secara Virtual dan Live Streaming
- Mengenal Learning Management System & Manfaat yang Ditawarkan
- Tantangan Pendidikan Negara Agraris di Era Rovolusi Industri 4.0
- Peran Guru Zaman Sekarang dalam Meningkatkan Kualitas Pendidikan
Membuat Sertifikat dengan Mail Merge (Microsoft Word) dan menyimpan secara individual dalam bentuk P
Anda mungkin mencari tutorial ini dalam beberapa waktu, dimana kita ingin membuat surat berantai atau sertifikat untuk puluhan atau bahkan ratusan orang. pada layanan Mail Merge pada Microsoft Word memang mendukung pembuatan surat masal (mail merge) dengan memanfaatkan sebuah data yang sebelumnya sudah dibuat berupa tabel pada microsoft word ataupun microsoft excel, yang kemudian di cetak secara masal dan otomatis pada printer berdasarkan data yang disiapkan.
masalahnya jika kita ingin mencetak surat atau sertifikat tersebut kedalam sebuah file pdf secara masal, Mail Merge pada Microsoft tidak mendukung. oleh sebab itu kita dapat mngunakan VB Scrip (macro) untuk menyelesaikan kasus tersebut. mari kita mulai.
kita siapkan template surat / sertifikat dan data yang akan di gunakan didalamnya.
Baca Lainnya :
- Mengenal Learning Management System & Manfaat yang Ditawarkan0
- Tantangan Pendidikan Negara Agraris di Era Rovolusi Industri 4.00
- Peran Guru Zaman Sekarang dalam Meningkatkan Kualitas Pendidikan4
pada halaman ini saya tidak akan membahas lagi tentang mail merge, untuk mengkoneksikan mail merge silahkan simak di link berikut... mailmerge
gambar : template surat/sertifikat
gambar : tabel data
hasil yang kita inginkan sebagai berikut
oke kita mulai langkah langkahnya...
- Pada Microsoft Word buka VBA Editor (tekan ALT F11)
2. Insert Modul
3. ketik kodenya di Editor sehingga menjadi seperti ini
Option Explicit | |
Const FOLDER_SAVED As String = "C:\Users\Resika Arthana\Google Drive (resika@undiksha.ac.id)\06 Kegiatan Undiksha\0 UPT TIK 2019\ICONMNS\LOA\LOA-ICONMNS2019-" | |
Const SOURCE_FILE_PATH As String = "C:\Users\Resika Arthana\Google Drive (resika@undiksha.ac.id)\06 Kegiatan Undiksha\0 UPT TIK 2019\ICONMNS\datapaper.xlsx" | |
Sub MailMergeToIndPDF() | |
Dim MainDoc As Document, TargetDoc As Document | |
Dim dbPath As String | |
Dim recordNumber As Long, totalRecord As Long | |
Set MainDoc = ActiveDocument | |
With MainDoc.MailMerge | |
'// if you want to specify your data, insert a WHERE clause in the SQL statement | |
.OpenDataSource Name:=SOURCE_FILE_PATH, sqlstatement:="SELECT * FROM [Sheet1$]" | |
totalRecord = .DataSource.RecordCount | |
For recordNumber = 1 To totalRecord | |
With .DataSource | |
.ActiveRecord = recordNumber | |
.FirstRecord = recordNumber | |
.LastRecord = recordNumber | |
End With | |
.Destination = wdSendToNewDocument | |
.Execute False | |
Set TargetDoc = ActiveDocument | |
TargetDoc.SaveAs2 FOLDER_SAVED & .DataSource.DataFields("ID").Value & ".docx", wdFormatDocumentDefault | |
TargetDoc.ExportAsFixedFormat FOLDER_SAVED & .DataSource.DataFields("ID").Value & ".pdf", exportformat:=wdExportFormatPDF | |
TargetDoc.Close False | |
Set TargetDoc = Nothing | |
Next recordNumber | |
End With | |
On Error Resume Next | |
Kill FOLDER_SAVED & "*.docx" | |
On Error GoTo 0 | |
Set MainDoc = Nothing | |
End Sub | |
'adopted from https://learndataanalysis.org/automate-mail-merge-to-save-each-record-individually-with-word-vba/ | |
'with additional delete docx file | |
