Menampilkan dan Mencetak File PDF

Dalam era digital saat ini, banyak pekerjaan mengharuskan kita untuk berurusan dengan dokumen dalam format PDF.

PDF adalah format yang sangat umum digunakan untuk berbagi informasi, tetapi seringkali kita membutuhkan cara yang efisien untuk menampilkan dan mencetak dokumen-dokumen ini.

Termasuk dengan Visual Basic for Applications (VBA) yang bisa dijadikan alat yang sangat powerfull untuk mencetak dan menampilkan file PDF.

VBA adalah bahasa pemrograman yang kuat yang terintegrasi dalam berbagai aplikasi Microsoft Office, termasuk Excel, Word, dan PowerPoint.

Dengan VBA, kita bisa mengotomatisasi banyak tugas, termasuk manipulasi, pembuatan, dan pencetakan dokumen PDF.

Materi ini sudah saya bahas memalui tutorial video yang bisa dilihat dibawah ini

Artikel kali ini saya akan membahas bagaimana kita dapat menggunakan VBA untuk menampilkan dan mencetak PDF dengan mudah, meningkatkan efisiensi kerja tdan menghemat waktu tentunya.

Dalam artikel ini, saya akan menjelaskan langkah-langkah praktis tentang:

  • Membaca dan Menampilkan File PDF dengan VBA
  • kamu akan belajar bagaimana membaca dokumen PDF dan menampilkannya di dalam Userform. Ini akan memungkinkan kita bisa dengan cepat mengakses informasi yang diperlukan tanpa harus membuka aplikasi PDF terpisah.
  • Mencetak File PDF dengan VBA
  • Saya akan jelaskan cara mencetak dokumen PDF secara otomatis menggunakan VBA. Dengan ini, kita dapat membuat proses pencetakan menjadi lebih efisien dan konsisten.

Untuk memudahkan tutorial kali ini, siapkan sebuah userform seperti pada gambar dibawah ini:

Sesuaikan nama control pada Form menjadi seperti dibawah ini, agar nama control pada script yang digunakan sama.

TextboxTBFile
WebbrowserWebBrowser1
CommandButton1BTBrowse
CommandButton2BTPrint

Menampilkan File PDF

Untuk menampilkan file PDF mudahnya disini saya menggunakan Webbrowser selain menggunakan control webbrowser kamu juga bisa menggunakan Library dari adobe, tetapi library ini harus diinstallkan terlebih dahulu, sedangkan webbrowser sudah ada pada bawaan VBA.

Sedangkan untuk memilih file PDF yang akan ditampilkan disini saya gunakan Opendialog agar file bisa dipilih dengan dinamis.

Script pada tombol browse

Private Sub BTBrowse_Click()
Dim NamaFile As String
Dim HTML As String

NamaFile = Application.GetOpenFilename("PDF Files (*.PDF), *.PDF")

If Not NamaFile = "False" Then
    TBFile.Text = NamaFile
    
    HTML = "<HTML><BODY><embed src=""" & NamaFile & """ height=""100%"" Width=""100%"" /></body></html>"
 
    WebBrowser1.Navigate "about:blank"
    WebBrowser1.Document.write HTML
    
End If

End Sub

Mencetak File PDF

Untuk melakukan print atau mencetak File PDF langsung ke Printer kita bisa mengakalinya dengan bantuan Command Shell.

Perintah ini kita jalankan dengan bantuan dari Windows API dari Fungsi yang bernama ShellExecute.

Agar bisa berjalan di Windows 32bit dan 64bit disini saya gunakan sebuah Compiler Directive

Baca juga : Compiler Directives

Simpan Script ini pada Standard Module

#If VBA7 and Win64 Then
Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
     ByVal hwnd As Long, _
     ByVal lpOperation As String, _
     ByVal lpFile As String, _
     ByVal lpParameters As String, _
     ByVal lpDirectory As String, _
     ByVal nShowCmd As Long) As Long
#Else
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
     ByVal hwnd As Long, _
     ByVal lpOperation As String, _
     ByVal lpFile As String, _
     ByVal lpParameters As String, _
     ByVal lpDirectory As String, _
     ByVal nShowCmd As Long) As Long
#End IF

Masih pada Standard Module, buat Subrutine untuk mencetak file dimana Subrutine ini menjalankan API ShellExcute.

Public Sub PrintPDF(NamaFile As String)
ShellExecute Application.hwnd, "print", NamaFile, vbNullString, vbNullString, 0
End Sub

Terakhir tinggal gunakan script pada tombol Print yang ada pada Userform. Pada tombol BTPrint tambahkan script dibawah ini.

Private Sub BTPrint_Click()
If Not Len(TBFile.Text) = 0 Then
    PrintPDF TBFile.Text
End If
End Sub

Len digunakan untuk mengecek panjang karakter yang ada pada textbox yang bisa diartikan apakah textbox TbFile kosong atau ada isinya. Selanjutnya jalankan printah PrintPDF dan NamaFile.

File Download

Leave a Reply

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

Chat WhatsApp
WhatsApp