Barcodes gebruiken en automatiseren met VBA in Excel
Je kunt VisualBasic for Applications (VBA) gebruiken om veel dingen in Excel op te lossen. Hier laten we zien hoe je het ActiveBarcode-besturingselement kunt insluiten, gebruiken en verwijderen met VBA:
De ActiveBarcode-besturing insluiten in een blad:
In dit voorbeeld wordt een barcodebesturingselement direct boven een cel geplaatst. Dan lijkt het alsof de streepjescode in een cel staat.
Eerst lezen we de celgrootte af:
CurrentCell = "C3" MyHeight = Range(CurrentCell).Height MyWidth = Range(CurrentCell).Width MyTop = Range(CurrentCell).Top MyLeft = Range(CurrentCell).LeftHoud er rekening mee dat een cel een minimale grootte moet hebben zodat de barcode erin past. Als de cel te klein is, wordt een Groottefout weergegeven. Daarom passen we de hoogte van de cel aan tot 30 pixels:
' Enlarge the cell height to 30 pixels Range(CurrentCell).RowHeight = 30De volgende functie maakt de barcodebesturing direct boven de cel:
ActiveSheet.OLEObjects.Add(ClassType:="ACTIVEBARCODE.BarcodeCtrl.1", Link:=False, _ DisplayAsIcon:=False, Width:=MyWidth , Height:=MyHeight, Top:=MyTop + 2,_ Left:=MyLeft + 4).SelectJe kunt het barcodeobject direct koppelen aan een cel:
ActiveSheet.OLEObjects(MyBarcode).LinkedCell = "B7"Om gemakkelijk toegang te krijgen tot de controle, slaan we de naam van de controle op in de variabele MijnBarcode:
MyBarcode = ActiveSheet.Shapes(ActiveSheet.Shapes.Count).NameNu kun je de eigenschappen en methoden van het barcodeobject gebruiken zoals je wilt:
' set properties ActiveSheet.OLEObjects(MyBarcode).Object.Font.Size = 8 ActiveSheet.OLEObjects(MyBarcode).Object.Type = 14 ' Code 128 ActiveSheet.OLEObjects(MyBarcode).Object.Text = Range("C3")Als je het besturingselement niet meer nodig hebt, kun je het verwijderen uit het blad:
ActiveSheet.OLEObjects(MyBarcode).DeleteTip: Als het nodig is dat Windows aankomende gebeurtenissen verwerkt (vaak KeepWindowsAlive genoemd) binnen een macro, kun je dit forceren door de volgende VBA-functie te gebruiken:
DoEventsDit kan bijvoorbeeld nodig zijn als het besturingselement zichzelf nieuw moet tekenen.