Używanie i automatyzacja kodów kreskowych za pomocą VBA w Word
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 określane jako 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.