Word
Obiekty kodów kreskowych z VBA

 Standard lub wyższy

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 = 120
Dostę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.ConvertToShape
Jeśli kontrolka nie jest już potrzebna, można ją usunąć z dokumentu:
 ab.Delete
Wskazó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:
DoEvents
Może to być konieczne, np. jeśli kontrolka musi narysować się jako nowa.