Tips Print File Dokumen Word dari Excel dengan Macro VBA
Kode macro yang akan kami bagikan ini adalah sebuah contoh yang menunjukkan cara membuka dan memberikan perintah macro untuk print sebuah dokumen Word.
Untuk dapat melakukan pencetakan atau print pada file dokumen Word melalui Excel, dalam VBA terdapat metode PrintOut sebagai perintah untuk mencetak keseluruhan maupun hanya sebagian dokumen dalam suatu file Word.
Langsung saja, berikut ini langkah-langkah pembuatan kode macro tersebut:
1. Buka VBE dengan menekan Alt+F11 di Excel.
2. Buka menu Insert > Module.
3. Pada Module ketik kode berikut lalu tekan Enter:
4. Tepat di bawah kode tersebut, tetapkan contoh variabel objek A untuk aplikasi Word dan B untuk dokumen Word:
5. Tugaskan macro untuk membuka Word:
6. Tetapkan juga file dokumen beserta alamat filenya di dalam komputer Anda yang akan di-print:
7. Gunakan perintah berikut untuk mencetak seluruh dokumen Word dan jika Anda ingin mencetak sebagian halaman dokumen misalnya hanya halaman 3 saja maka ubah statement menjadi A.ActiveDocument.PrintOut pages:="3" pada macro ini:
8. Berikan waktu aplikasi menyelesaikan proses print job selama 5 detik sebelum aplikasi Word ditutup:
9. Tutup dokumen tanpa menyimpan perubahan pada file dokumen tersebut:
10. Hentikan aplikasi Word dengan perintah:
A.Quit
Untuk diketahui bahwa Anda mungkin melihat contoh kode macro ini dan kode lainnya tidak menyertakan statement yang membuat aplikasi agar ditampilkan di layar.
Namun perlu diingat untuk membiasakan agar selalu menyertakan statement Close dan Quit pada kode macro saat Anda berencana membuka aplikasi dan file yang akan ditutup setelah macro tersebut selesai mengerjakan tugasnya.
Jika hal ini tidak dilakukan maka saat macro dijalankan kembali Anda akan mendapati pesan read-only dan error, dikarenakan VBA akan menafsirkan perintah pada kode macro sebagai percobaan untuk membuka kembali file yang sebenarnya sudah dibuka.
11. Tetapkan variabel objek berikut untuk melepaskan memori sistem:
Set A = Nothing
Kode lengkapnya sebagai berikut:
Dim A As Object, B As Object
Set A = CreateObject("Word.Application")
Set B = A.Documents.Open(Filename:="C:\Alamat\File\Anda\namafile.docx")
A.ActiveDocument.PrintOut
Application.Wait Now + TimeSerial(0, 0, 5)
B.Close savechanges:=False
A.Quit
Set B = Nothing
Set A = Nothing
End Sub
Silakan Anda coba kode macro PrintFileWord yang telah Anda susun.
Semoga bermanfaat.
