Menggunakan dan mengotomatisasi barcode dengan VBA di Excel
Menyematkan Kontrol ActiveBarcode ke dalam Lembar Kerja:
Dalam contoh ini, kontrol barcode akan ditempatkan langsung di atas sel. Kemudian, barcode tersebut akan terlihat seolah-olah berada di dalam sel.
Pertama, kita membaca ukuran sel:
CurrentCell = "C3" MyHeight = Range(CurrentCell).Height MyWidth = Range(CurrentCell).Width MyTop = Range(CurrentCell).Top MyLeft = Range(CurrentCell).LeftHarap diperhatikan bahwa sel harus memiliki ukuran minimum agar barcode dapat muat di dalamnya. Jika sel terlalu kecil, pesan kesalahan ukuran akan ditampilkan. Oleh karena itu, kami mengubah tinggi sel menjadi 30 piksel:
' Enlarge the cell height to 30 pixels Range(CurrentCell).RowHeight = 30Fungsi berikut akan membuat kontrol barcode tepat di atas sel:
ActiveSheet.OLEObjects.Add(ClassType:="ACTIVEBARCODE.BarcodeCtrl.1", Link:=False, _ DisplayAsIcon:=False, Width:=MyWidth , Height:=MyHeight, Top:=MyTop + 2,_ Left:=MyLeft + 4).SelectAnda dapat menghubungkan objek barcode secara langsung dengan sel:
ActiveSheet.OLEObjects(MyBarcode).LinkedCell = "B7"Untuk mendapatkan akses mudah ke kontrol, kami menyimpan nama kontrol dalam variabel MyBarcode:
MyBarcode = ActiveSheet.Shapes(ActiveSheet.Shapes.Count).NameSekarang Anda dapat menggunakan properti dan metode objek barcode sesuka Anda:
' set properties ActiveSheet.OLEObjects(MyBarcode).Object.Font.Size = 8 ActiveSheet.OLEObjects(MyBarcode).Object.Type = 14 ' Code 128 ActiveSheet.OLEObjects(MyBarcode).Object.Text = Range("C3")Jika Anda tidak memerlukan kontrol tersebut lagi, Anda dapat menghapusnya dari lembar kerja:
ActiveSheet.OLEObjects(MyBarcode).DeleteTips: Jika Windows perlu memproses peristiwa yang akan datang (sering disebut sebagai KeepWindowsAlive) dalam sebuah makro, Anda dapat memaksakan hal ini dengan menggunakan fungsi VBA berikut:
DoEventsHal ini mungkin diperlukan, misalnya jika Kontrol harus menggambar dirinya sendiri ulang.