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:
- Pada properti form, atur properti Pop Up=Yes dan Modal=Yes
- 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
Post a Comment