Visual Basic for Applications (VBA) adalah bahasa pemrograman yang ditanamkan di dalam aplikasi Microsoft Office, seperti Excel, Word, dan Access.
VBA tidak hanya berguna untuk tugas-tugas klasik seperti input data atau menghitung secara otomatis. Tetapi juga dapat memanfaatkannya untuk membaca informasi yang terkandung dalam gambar QR Code.
Apa itu QR Code?
QR Code (Quick Response Code) adalah jenis kode matriks dua dimensi yang dapat menyimpan sejumlah besar informasi.
QR Code umumnya digunakan untuk menyimpan tautan URL, teks, atau informasi lainnya yang dapat diakses secara cepat dengan menggunakan perangkat ponsel pintar atau kamera.
Membaca QR Code secara manual bisa menjadi tugas yang merepotkan, terutama jika memiliki banyak Gambar QR Code untuk diproses.
Inilah mengapa VBA dapat menjadi alat yang sangat berguna dalam mengotomatisasi proses ini.
Menggunakan VBA untuk membaca QR Code memberikan keuntungan utama dalam hal otomatisasi dan efisiensi.
Dengan memanfaatkan kemampuan VBA untuk berinteraksi dengan gambar dan membaca teks, kita dapat membuat skrip yang dapat mengenali dan mengekstrak informasi dari QR Code dengan cepat dan akurat.
Langkah-langkah Membaca QR Code dengan VBA:
Untuk membaca QR Code, kita perlu mengimpor library atau komponen tambahan yang mendukung fungsi tersebut, seperti ZXing Library.
Repository ZXing bisa di download di : https://github.com/micjahn/ZXing.Net
Pertama, unduh arsip zip ZXing.Net (versi 0.16.0 atau yang lebih tinggi). Ekstrak subdirektori “interop” dari File tersebut.
Ada file register yang bernama “register.cmd” yang berfungsi untuk menambahkan informasi dari zxing.interop.dll ke registri Windows.
Semua file yang ada di folder “interop” harus bisa di akses atau dibaca oleh Excel. Cara termudah adalah menempatkan zxing.dll, zxing.interop.dll, dan register.cmd di direktori Windows (C:\Windows) dan menjalankan register.cmd dari sana.
Selanjutnya untuk membaca sebuah Gambar Code, Script bisa dibuat seperti dibawah ini
Function Decode_QR(LokasiFile as String) Dim reader As IBarcodeReader Set reader = New BarcodeReader reader.options.PossibleFormats.Add BarcodeFormat_QR_CODE Decode_QR = reader.DecodeImageFile(LokasiFile) End Function
Membaca semua Gambar QR Code yg ada didalam Folder dan menyimpan hasilnya di Sheet1 kolom B, script bisa dibuat seperti ini
Sub BacaQR() Dim Reader As IBarcodeReader Set Reader = New BarcodeReader Reader.Options.PossibleFormats.Add BarcodeFormat_QR_CODE lokasi = Dir("D:\DataQR\*") X = 3 Do While Len(lokasi) > 0 Sheet1.Cells(X, 2) = Reader.DecodeImageFile("D:\DataQR\" & lokasi) X = X + 1 lokasi = Dir Loop End Sub