Skip to main content

Fungsi Untuk Membuat Daftar Printer di Access VBA

Fungsi yang dibuat di bawah bisa digunakan untuk menampilkan daftar printer yang ada di komputer kita. Fungsi yang diberi nama membuatDaftarPrinter ini dibuat dengan kode VBA sederhana, sangat sederhana malah. Cara mengaplikasikannya juga tidak sulit.
Gambar 1. Membuat Sendiri Daftar Printer di Form Access

Berikut ini adalah fungsi membuatDaftarPrinter yang dibuat di Access VBA. Simpan fungsi ini dalam modul tersendiri yang khusus berkaitan dengan printer. Kita bisa menamai modul itu mdlPrinter.
Function membuatDaftarPrinter() As Variant
  Dim prt As Printer
  Dim n As Integer
  Dim strNamaPrinter() As String
On Error GoTo Err_Msg
  n = 0
  ReDim Preserve strNamaPrinter(Application.Printers.Count - 1)
  For Each prt In Application.Printers
    strNamaPrinter(n) = prt.DeviceName
    n = n + 1
    Debug.Print prt.DeviceName 'tampilkan di Immediate Window, baris ini bisa dihapus
  Next prt
  membuatDaftarPrinter = strNamaPrinter
Exit_Function:
  Exit Function
Err_Msg:
  MsgBox "Function membuatDaftarPrinter, Error # " & str(Err.Number) & ", source: " & Err.Source & _
  Chr(13) & Err.description
  Resume Exit_Function
End Function
Output dari fungsi membuatDaftarPrinter berupa array yang berisi kumpulan nama-nama printer. Untuk menjalankan fungsi membuatDaftarPrinter di Immediate Windows, kita harus menggunakan fungsi Join, menjadi Join(membuatDaftarPrinter,";"), tanda ";" adalah pemisahnya, kita bisa mengganti dengan tanda lainnya. Contoh eksekusi fungsi membuatDaftarPrinter di Immediate Window seperti ini:
? Join(membuatDaftarPrinter,";")
Send To OneNote 2013;Microsoft XPS Document Writer;Fax;EPSON L360 Series;EPSON L110 Series;Adobe PDF
Jika tidak ada Join, VBA akan menampilkan pesan kesalahan Type Mismatch. Untuk mengaplikasikannya ke dalam sebuah form sangatlah sederhana. Kita hanya perlu membuat sebuah form dialog, lalu sisipkan sebuah combo box di dalamnya. Selengkapnya, properti dari form dan combo box adalah sebagai berikut:
  1. Pada properti form, atur properti Pop Up=Yes dan Modal=Yes
  2. Pada properti combo box, atur propetinya seperti ini: Name=cbbPrinter, Row Source Type=Value List.
Gambar 2. Properti Row Source Type=Value List pada combo box cbbPrinter
Selanjutnya, tambahkan modul form untuk event procedure On Open seperti ini:
Private Sub Form_Open(Cancel As Integer)
  Me.cbbPrinter.SeparatorCharacters = 2
  Me.cbbPrinter.RowSource = Join(membuatDaftarPrinter, ";")
End Sub 
Design View dari form dapat dilihat di Gambar 2. Untuk Form View, bila cbbPrinter dibuka daftarnya, maka nama printer akan terlihat seperti di Gambar 1 di atas. Daftar itu berasal dari Devices and Printers yang diambil dari Control Panel.

Comments

Posting Terpopuler

Normalisasi, Denormalisasi, dan Anomali Database

Membuat Relasi Database

Menampilkan Data MySQL dalam Form di Access