Skip to content Skip to sidebar Skip to footer

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:

Sub PrintFileWord()

4. Tepat di bawah kode tersebut, tetapkan contoh variabel objek A untuk aplikasi Word dan B untuk dokumen Word:

Dim A As Object, B As Object

5. Tugaskan macro untuk membuka Word:

Set A = CreateObject("Word.Application")

6. Tetapkan juga file dokumen beserta alamat filenya di dalam komputer Anda yang akan di-print:

Set B = A.Documents.Open(Filename:="C:\Alamat\File\Anda\namafile.docx")

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:

A.ActiveDocument.PrintOut

8. Berikan waktu aplikasi menyelesaikan proses print job selama 5 detik sebelum aplikasi Word ditutup:

Application.Wait Now + TimeSerial(0, 0, 5)

9. Tutup dokumen tanpa menyimpan perubahan pada file dokumen tersebut:

B.Close savechanges:=False

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 B = Nothing
Set A = Nothing

Kode lengkapnya sebagai berikut:

Sub PrintFileWord()
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.