Word
Stregkodeobjekter med VBA

 Standard eller højere

Brug og automatisering af stregkoder med VBA

Word 365, 2024, 2021, 2019, 2016, 2013, 2010, 2007, 2003
Du kan bruge VisualBasic for Applications (VBA) til at løse mange opgaver i Word. Her viser vi dig, hvordan du integrerer, bruger og sletter ActiveBarcode-kontrolelementet med VBA:

Indlejring af ActiveBarcode Control i et dokument:
I dette eksempel placeres en stregkodekontrol ved markørens position. Derefter kan du ændre objektet ved hjælp af variablen ab:
Dim ab As Object
Set ab = Selection.InlineShapes.AddOLEObject(ClassType:="ACTIVEBARCODE.BarcodeCtrl.1",
  FileName:="", LinkToFile:=False, DisplayAsIcon:=False)
Indstil objektets standardegenskaber (højde, bredde) ved hjælp af variablen ab:
ab.Width = 200
ab.Height = 120
Du kan få adgang til egenskaberne og metoderne for stregkodeobjektet ved hjælp af egenskaben OLEFormat.Object:
ab.OLEFormat.Object.Type = 6
ab.OLEFormat.Object.Text = "987698769812"
Du kan også bruge en mere overskuelig måde at få adgang til egenskaberne på ved at oprette og bruge en variabel, f.eks. med navnet abObject:
Dim abObject As Object
With ab.OLEFormat
  .Activate
  Set abObject = .Object
End With

abObject.Type = 6
abObject.Text = "987698769812"
Ved hjælp af følgende kald kan du caste stregkodeobjektet i en InlineShape. Bemærk, at du ikke kan ændre stregkoden efter konverteringen.
ab.ConvertToShape
Hvis du ikke længere har brug for kontrollen, kan du slette den fra dokumentet:
 ab.Delete
Tip: Hvis det er nødvendigt for Windows at behandle kommende begivenheder (ofte benævnt KeepWindowsAlive) inden for en makro, kan du tvinge dette ved hjælp af følgende VBA-funktion:
DoEvents
Dette kan være nødvendigt, f.eks. hvis kontrolelementet skal tegne sig selv på ny.

ActiveBarcode: Info
Word-makro (VBA) til at tilføje stregkoder til sider.
for Word 365, 2024, 2021, 2019, 2016, 2013, 2010
Denne makro viser, hvordan man tilføjer en stregkode til hver side, der indeholder et variabelt indhold og et sidetal.

Brug stregkoder i Word-brevfletning

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

1


ActiveBarcode: Brug stregkoder i Word-brevfletning.
Åbn et eksisterende dokument til brevfletning, eller opret et nyt.
2


Føj stregkodeobjektet til dit mail merge-dokument. Placer det, hvor du ønsker det i dokumentet, og indstil objektets egenskaber, såsom stregkodetype og -størrelse.

Det vil for eksempel se ud som på følgende skærmbillede. Bemærk navnet på stregkodeobjektet – her fremhævet med gult. Normalt vil dette være Barcode1. ActiveBarcode: Barcode, Word


3


Der kræves en makro til mailfusionen. Du kan tilføje følgende makro. Kopier den til udklipsholderen og indsæt den derfra i Visual Basic for Applications-editoren 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 sådan ud. På skærmbilledet kan du også se, hvor makroen er indsat. ActiveBarcode: Barcode, Word


5


Juster nu makroen til dit dokument til brevfletning:

Hvis navnet på dit stregkodeobjekt ikke er Barcode1, skal du ændre det i makroen – venstre gul markering på skærmbilledet.

Nu ændrer du feltnavnet fra din datakilde, som skal bruges til stregkoden. I dette eksempel bruges produktkode – højre gul markering på skærmbilledet. Ændr navnet inden for anførselstegnene. ActiveBarcode: Barcode, Word


6


Gem dokumentet og start makroen for at udskrive en test.

Tip: Start testudskriften med en lille mængde data, så der er færre fejludskrifter i tilfælde af en fejl. ActiveBarcode: Barcode, Word


7


Færdig.

Info Hvis du har placeret makroen i Normal.dot i stedet for i selve dokumentet, må dokumentet ikke være i designtilstand, når du kører makroen. Hvis du gør det, vil det medføre en fejl. Slå derfor designtilstanden fra, før du kører makroen.