Word
Streckkodsobjekt med VBA

 Standard eller högre

Använda och automatisera streckkoder med VBA i Word

Du kan använda VisualBasic for Applications (VBA) för att lösa många problem i Word. Här visar vi hur du bäddar in, använder och tar bort ActiveBarcode-kontrollen med VBA:

Bädda in ActiveBarcode Control i ett dokument:
I det här exemplet placeras en streckkodskontroll vid markörens position. Sedan kan du ändra objektet med hjälp av variabeln ab:
Dim ab As Object
Set ab = Selection.InlineShapes.AddOLEObject(ClassType:="ACTIVEBARCODE.BarcodeCtrl.1",
  FileName:="", LinkToFile:=False, DisplayAsIcon:=False)
Ställ in objektets standardegenskaper (höjd, bredd) med hjälp av variabeln ab:
ab.Width = 200
ab.Height = 120
Du kan komma åt egenskaperna och metoderna för streckkodsobjektet genom att använda egenskapen OLEFormat.Object:
ab.OLEFormat.Object.Type = 6
ab.OLEFormat.Object.Text = "987698769812"
Du kan också använda ett renare sätt att komma åt egenskaperna genom att skapa och använda en variabel, t.ex. med namnet abObject:
Dim abObject As Object
With ab.OLEFormat
  .Activate
  Set abObject = .Object
End With

abObject.Type = 6
abObject.Text = "987698769812"
Med följande anrop kan du omvandla streckkodsobjektet till en InlineShape. Observera att du inte kan ändra streckkoden efter konverteringen.
ab.ConvertToShape
Om du inte längre behöver kontrollen kan du ta bort den från dokumentet:
 ab.Delete
Tips: Om Windows behöver bearbeta kommande händelser (ofta kallat KeepWindowsAlive) inom ett makro kan du tvinga fram detta genom att använda följande VBA-funktion:
DoEvents
Detta kan vara nödvändigt, t.ex. om kontrollen måste rita om sig själv.