Używanie i automatyzacja kodów kreskowych za pomocą VBA w Word
VisualBasic for Applications (VBA) może być używany do rozwiązywania wielu problemów w programie Word. Tutaj pokażemy, jak osadzać, używać i usuwać kontrolkę ActiveBarcode za pomocą VBA:
Osadzanie kontrolki ActiveBarcode w dokumencie:
W tym przykładzie kontrolka kodu kreskowego zostanie umieszczona w pozycji kursora. Następnie można zmodyfikować obiekt za pomocą zmiennej ab:
Dim ab As Object Set ab = Selection.InlineShapes.AddOLEObject(ClassType:="ACTIVEBARCODE.BarcodeCtrl.1", FileName:="", LinkToFile:=False, DisplayAsIcon:=False)Ustaw standardowe właściwości (wysokość, szerokość) obiektu za pomocą zmiennej ab:
ab.Width = 200 ab.Height = 120Dostęp do właściwości i metod obiektu kodu kreskowego można uzyskać za pomocą właściwości OLEFormat.Object:
ab.OLEFormat.Object.Type = 6 ab.OLEFormat.Object.Text = "987698769812"Można również użyć bardziej czystego sposobu dostępu do właściwości, tworząc i używając zmiennej, np. o nazwie abObject:
Dim abObject As Object With ab.OLEFormat .Activate Set abObject = .Object End With abObject.Type = 6 abObject.Text = "987698769812"Za pomocą poniższego wywołania można przekształcić obiekt kodu kreskowego w InlineShape. Należy pamiętać, że po konwersji nie można zmienić kodu kreskowego.
ab.ConvertToShapeJeśli kontrolka nie jest już potrzebna, można ją usunąć z dokumentu:
ab.DeleteWskazówka: Jeśli konieczne jest, aby system Windows przetwarzał nadchodzące zdarzenia (często nazywane "KeepWindowsAlive") w makrze, można to wymusić za pomocą następującej funkcji VBA:
DoEventsMoże to być konieczne, np. jeśli kontrolka musi narysować się jako nowa.