Word
Objets code-barres avec VBA

 Standard ou plus

Utilisation et automatisation des codes-barres avec VBA

Word 365, 2024, 2021, 2019, 2016, 2013, 2010, 2007, 2003
Vous pouvez utiliser VisualBasic for Applications (VBA) pour résoudre de nombreux problèmes dans Word. Nous allons vous montrer comment intégrer, utiliser et supprimer le contrôle ActiveBarcode avec VBA:

Intégrer le contrôle ActiveBarcode dans un document:
Dans cet exemple, un contrôle de code-barres sera placé à la position du curseur. Vous pouvez ensuite modifier l'objet à l'aide de la variable ab:
Dim ab As Object
Set ab = Selection.InlineShapes.AddOLEObject(ClassType:="ACTIVEBARCODE.BarcodeCtrl.1",
  FileName:="", LinkToFile:=False, DisplayAsIcon:=False)
Définir les propriétés standard (hauteur, largeur) de l'objet en utilisant la variable ab:
ab.Width = 200
ab.Height = 120
Vous pouvez accéder aux propriétés et méthodes de l'objet code-barres en utilisant la propriété OLEFormat.Object :
ab.OLEFormat.Object.Type = 6
ab.OLEFormat.Object.Text = "987698769812"
Vous pouvez également utiliser une méthode plus propre pour accéder aux propriétés en créant et en utilisant une variable, par exemple nommée abObject:
Dim abObject As Object
With ab.OLEFormat
  .Activate
  Set abObject = .Object
End With

abObject.Type = 6
abObject.Text = "987698769812"
En utilisant l'appel suivant, vous pouvez convertir l'objet code-barres en une InlineShape. Notez que vous ne pouvez pas modifier le code-barres après la conversion.
ab.ConvertToShape
Si vous n'avez plus besoin du contrôle, vous pouvez le supprimer du document:
 ab.Delete
Conseil : s'il est nécessaire que Windows traite les événements à venir (souvent appelé KeepWindowsAlive) au sein d'une macro, vous pouvez le forcer en utilisant la fonction VBA suivante :
DoEvents
Cela peut s'avérer nécessaire, par exemple si le Contrôleur doit se redessiner.

ActiveBarcode: Info
Word Macro (VBA) pour ajouter des codes-barres aux pages.
pour Word 365, 2024, 2021, 2019, 2016, 2013, 2010
Cette macro montre comment ajouter un code-barres à chaque page contenant un contenu variable et un numéro de page.

Utiliser les codes-barres dans la fusion de courrier Word

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

1


ActiveBarcode: Utiliser les codes-barres dans la fusion de courrier Word.
Ouvrez un document de fusion de courrier existant ou créez-en un nouveau.
2


Ajoutez l'objet code-barres à votre document de fusion de courrier. Placez-le à l'endroit voulu dans le document et définissez les propriétés de l'objet, telles que le type et la taille du code-barres.

Cela ressemblera à la capture d'écran suivante, par exemple. Notez le nom de l'objet code-barres - surligné ici en jaune. En général, il s'agit de Barcode1. ActiveBarcode: Barcode, Word


3


Une macro est nécessaire pour la fusion de courrier. Vous pouvez ajouter la macro suivante. Copiez-la dans le presse-papiers et collez-la dans l'éditeur Visual Basic for Applications de 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


Le résultat ressemble à ceci. Dans la capture d'écran, vous pouvez également voir où la macro est insérée. ActiveBarcode: Barcode, Word


5


Ajustez maintenant la macro à votre document de fusion de courrier :

Si le nom de votre objet code-barres n'est pas Barcode1, modifiez-le dans la macro - marque jaune à gauche dans la capture d'écran.

Vous devez maintenant modifier le nom du champ de votre source de données, qui doit être utilisé pour le code-barres. Dans cet exemple, Productcode est utilisé - marque jaune à droite dans la capture d'écran. Modifiez le nom entre les guillemets. ActiveBarcode: Barcode, Word


6


Enregistrez le document et lancez la macro pour une impression test.

Conseil : commencez l'impression de test avec une petite quantité de données afin de réduire le nombre de fautes d'impression en cas d'erreur. ActiveBarcode: Barcode, Word


7


Fait.

Info Si vous avez placé la macro dans Normal.dot plutôt que dans le document lui-même, le document ne doit pas être en mode conception lorsque vous exécutez la macro. Si tel est le cas, une erreur se produira. Par conséquent, désactivez le mode conception avant d'exécuter la macro.