Word
Objetos de código de barras con VBA

 Standard o superior

Uso y automatización de códigos de barras con VBA

Word 365, 2024, 2021, 2019, 2016, 2013, 2010, 2007, 2003
Puedes utilizar VisualBasic para Aplicaciones (VBA) para resolver muchas cosas en Word. Aquí le mostraremos cómo incrustar, utilizar y eliminar el control ActiveBarcode con VBA:

Incrustación del Control ActiveBarcode en un documento:
En este ejemplo se colocará un control de código de barras en la posición de los cursores. A continuación, puede modificar el objeto utilizando la variable ab:
Dim ab As Object
Set ab = Selection.InlineShapes.AddOLEObject(ClassType:="ACTIVEBARCODE.BarcodeCtrl.1",
  FileName:="", LinkToFile:=False, DisplayAsIcon:=False)
Establece las propiedades estándar (altura, anchura) del objeto utilizando la variable ab:
ab.Width = 200
ab.Height = 120
Puede acceder a las propiedades y métodos del objeto de código de barras mediante la propiedad OLEFormat.Object:
ab.OLEFormat.Object.Type = 6
ab.OLEFormat.Object.Text = "987698769812"
También puedes utilizar una forma más limpia de acceder a las propiedades creando y utilizando una variable, por ejemplo, llamada abObjeto:
Dim abObject As Object
With ab.OLEFormat
  .Activate
  Set abObject = .Object
End With

abObject.Type = 6
abObject.Text = "987698769812"
Mediante la siguiente llamada puede convertir el objeto de código de barras en un InlineShape. Tenga en cuenta que no puede cambiar el código de barras después de la conversión.
ab.ConvertToShape
Si ya no necesita el control, puede eliminarlo del documento:
 ab.Delete
Sugerencia: Si es necesario que Windows procese los próximos eventos (a menudo denominado KeepWindowsAlive) dentro de una macro, puede forzarlo mediante la siguiente función VBA:
DoEvents
Esto puede ser necesario, por ejemplo, si el Control debe dibujarse nuevo.

ActiveBarcode: Info
Macro de Word (VBA) para agregar códigos de barras a las páginas.
para Word 365, 2024, 2021, 2019, 2016, 2013, 2010
Esta macro muestra cómo agregar un código de barras a cada página que contiene un contenido variable y un número de página.

Utilizar códigos de barras en la combinación de correspondencia de Word

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

1


ActiveBarcode: Utilizar códigos de barras en la combinación de correspondencia de Word.
Abra un documento de combinación de correspondencia existente o cree uno nuevo.
2


Añada el Objeto Código de Barras a su documento de combinación de correspondencia. Colóquelo donde desee en el documento y defina las Propiedades del objeto, como el tipo y el tamaño del código de barras.

Por ejemplo, se verá como en la siguiente captura de pantalla. Observe el nombre del objeto de código de barras, resaltado aquí en amarillo. Normalmente será Barcode1. ActiveBarcode: Barcode, Word


3


Se necesita una macro para la combinación de correspondencia. Puede añadir la siguiente macro. Cópiela en el Portapapeles y péguela desde allí en el editor de Visual Basic para Aplicaciones 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


El resultado es el siguiente. En la captura de pantalla, también puede ver dónde se inserta la macro. ActiveBarcode: Barcode, Word


5


Ahora ajuste la macro a su documento de fusión de correo:

Si el nombre de su objeto de código de barras no es Barcode1, cámbielo en la macro - marca amarilla a la izquierda en la captura de pantalla.

Ahora cambie el nombre del campo de su fuente de datos, que se utilizará para el código de barras. En este ejemplo, se utiliza Productcode - marca amarilla a la derecha en la captura de pantalla. Cambie el nombre entre comillas. ActiveBarcode: Barcode, Word


6


Guarde el documento e inicie la macro para una impresión de prueba.

Consejo: Comience la impresión de prueba con una pequeña cantidad de datos para que haya menos erratas en caso de error. ActiveBarcode: Barcode, Word


7


Hecho.

Info Si ha colocado la macro en Normal.dot en lugar de en el propio documento, éste no debe estar en modo de diseño cuando ejecute la macro. De lo contrario, se producirá un error. Por lo tanto, desactive el modo de diseño antes de ejecutar la macro.