Word
Streckkodsobjekt med VBA

 Standard eller högre

Använda och automatisera streckkoder med VBA

Word 365, 2024, 2021, 2019, 2016, 2013, 2010, 2007, 2003
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.

ActiveBarcode: Info
Word-makro (VBA) för att lägga till streckkoder på sidor.
för Word 365, 2024, 2021, 2019, 2016, 2013, 2010
Detta makro visar hur man lägger till en streckkod på varje sida som innehåller ett variabelt innehåll och ett sidnummer.

Använd streckkoder i Word-brevfusion

Word 365, 2024, 2021, 2019, 2016, 2013, 2010, 2007, 2003

1


ActiveBarcode: Använd streckkoder i Word-brevfusion.
Öppna ett befintligt dokument för brevfusion eller skapa ett nytt.
2


Lägg till streckkodsobjektet i ditt dokument för brevfusion. Placera det där du vill ha det i dokumentet och ställ in objektets egenskaper, till exempel streckkodstyp och storlek.

Det kommer att se ut som på följande skärmdump, till exempel. Notera namnet på streckkodsobjektet – här markerat med gult. Vanligtvis är det Barcode1. ActiveBarcode: Barcode, Word


3


En makro krävs för e-postfusionen. Du kan lägga till följande makro. Kopiera det till Urklipp och klistra in det från där i Visual Basic for Applications-redigeraren i Word:
Sub MailMerge_example_with_ActiveBarcode()
 ' Macro shows how to print barcodes in a mail merge.
 if MsgBox("Do you want to print mail merged documents?", vbYesNo, "Question") = vbYes Then
   'counter to zero
   num = 0
   'first record is number one
   ActiveDocument.MailMerge.DataSource.ActiveRecord = 1
   Do
    ' Fill ActiveBarcode text property now
    ActiveDocument.Barcode1.Text = ActiveDocument.MailMerge.DataSource.DataFields("Productcode").Value
    ' do not prompt for printing...
    Options.PrintBackground = True
    ' print page
    ActiveDocument.PrintOut
    ' recognize old record
    lastone = ActiveDocument.MailMerge.DataSource.ActiveRecord
    ' select next record
    ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord
    'count
    num = num + 1
    ' check if there are new ones
   Loop While ActiveDocument.MailMerge.DataSource.ActiveRecord <> lastone
   ' notify user
   MsgBox (Str(num) + " pages printed!")
 End If
 End Sub

4


Resultatet ser ut så här. På skärmdumpen kan du också se var makrot har infogats. ActiveBarcode: Barcode, Word


5


Justera nu makrot till ditt dokument för e-postfusion:

Om namnet på ditt streckkodsobjekt inte är Barcode1, ändra det i makrot – vänster gul markering i skärmdumpen.

Nu ändrar du fältnamnet från din datakälla som ska användas för streckkoden. I det här exemplet används produktkod – den högra gula markeringen i skärmdumpen. Ändra namnet inom citattecknen. ActiveBarcode: Barcode, Word


6


Spara dokumentet och starta makrot för en testutskrift.

Tips: Börja testutskriften med en liten mängd data så att det blir färre felutskrifter om ett fel uppstår. ActiveBarcode: Barcode, Word


7


Klart.

Info Om du har placerat makrot i Normal.dot istället för i själva dokumentet, får dokumentet inte vara i designläge när du kör makrot. Om du gör det kommer ett felmeddelande att visas. Stäng därför av designläget innan du kör makrot.