Word
Oggetti di codici a barre con VBA

 Standard o superiore

Utilizzo e automazione dei codici a barre con VBA

Word 365, 2024, 2021, 2019, 2016, 2013, 2010, 2007, 2003
È possibile utilizzare VisualBasic for Applications (VBA) per risolvere molti problemi in Word. Qui vi mostreremo come incorporare, utilizzare ed eliminare il controllo ActiveBarcode con VBA:

Incorporare il controllo ActiveBarcode in un documento:
In questo esempio, un controllo di codice a barre verrà posizionato nella posizione del cursore. È quindi possibile modificare l'oggetto utilizzando la variabile ab:
Dim ab As Object
Set ab = Selection.InlineShapes.AddOLEObject(ClassType:="ACTIVEBARCODE.BarcodeCtrl.1",
  FileName:="", LinkToFile:=False, DisplayAsIcon:=False)
Impostare le proprietà standard (altezza, larghezza) dell'oggetto utilizzando la variabile ab:
ab.Width = 200
ab.Height = 120
È possibile accedere alle proprietà e metodi dell'oggetto codice a barre utilizzando la proprietà OLEFormat.Object:
ab.OLEFormat.Object.Type = 6
ab.OLEFormat.Object.Text = "987698769812"
È anche possibile utilizzare un modo più pulito per accedere alle proprietà, creando e utilizzando una variabile, ad esempio denominata abObject:
Dim abObject As Object
With ab.OLEFormat
  .Activate
  Set abObject = .Object
End With

abObject.Type = 6
abObject.Text = "987698769812"
Con la seguente chiamata è possibile eseguire il cast dell'oggetto codice a barre in un InlineShape. Si noti che non è possibile modificare il codice a barre dopo la conversione.
ab.ConvertToShape
Se il controllo non è più necessario, è possibile eliminarlo dal documento:
 ab.Delete
Suggerimento: se è necessario che Windows elabori gli eventi imminenti (spesso indicati come KeepWindowsAlive) all'interno di una macro, è possibile forzarli utilizzando la seguente funzione VBA:
DoEvents
Questo può essere necessario, ad esempio se il Controllo deve disegnare se stesso in modo nuovo.

ActiveBarcode: Info
Macro di Word (VBA) per aggiungere codici a barre alle pagine.
per Word 365, 2024, 2021, 2019, 2016, 2013, 2010
Questa macro mostra come aggiungere un codice a barre a ogni pagina con un contenuto variabile e un numero di pagina.

Utilizzare i codici a barre nella fusione di posta di Word

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

1


ActiveBarcode: Utilizzare i codici a barre nella fusione di posta di Word.
Aprire un documento di unione di corrispondenza esistente o crearne uno nuovo.
2


Aggiungere l'oggetto Codice a barre al documento di fusione di corrispondenza. Posizionarlo nel punto desiderato del documento e impostare le proprietà dell'oggetto, come il tipo e le dimensioni del codice a barre.

L'aspetto sarà quello della seguente schermata, ad esempio. Si noti il nome dell'oggetto codice a barre, qui evidenziato in giallo. Di solito è Barcode1. ActiveBarcode: Barcode, Word


3


Per l'unione della posta è necessaria una macro. È possibile aggiungere la seguente macro. Copiatela negli Appunti e incollatela nell'editor di Visual Basic for Applications di 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


Il risultato si presenta come segue. Nella schermata è possibile vedere anche il punto in cui è stata inserita la macro. ActiveBarcode: Barcode, Word


5


Ora adattate la macro al vostro documento di fusione della posta:

Se il nome dell'oggetto codice a barre non è Barcode1, modificarlo nella macro (segno giallo a sinistra nell'immagine).

Ora si cambia il nome del campo dell'origine dati, che deve essere usato per il codice a barre. In questo esempio, viene utilizzato Codice prodotto - segno giallo a destra nella schermata. Modificare il nome all'interno delle virgolette. ActiveBarcode: Barcode, Word


6


Salvare il documento e avviare la macro per una stampa di prova.

Suggerimento: iniziare la stampa di prova con una piccola quantità di dati, in modo da ridurre il numero di refusi in caso di errore. ActiveBarcode: Barcode, Word


7


Fatto.

Info Se la macro è stata inserita in Normal.dot anziché nel documento stesso, il documento non deve essere in modalità di progettazione quando si esegue la macro. In caso contrario si verificherà un errore. Pertanto, disattivare la modalità di progettazione prima di eseguire la macro.