Word
Objetos de código de barras com VBA

 Standard ou superior

Utilizando e automatizando códigos de barras com VBA

Word 365, 2024, 2021, 2019, 2016, 2013, 2010, 2007, 2003
É possível utilizar o Visual Basic para Aplicações (VBA) para resolver diversas questões no Word. Aqui, demonstraremos como incorporar, utilizar e excluir o controle ActiveBarcode com VBA:

Incorporando o controle ActiveBarcode em um documento:
Neste exemplo, um controle de código de barras será colocado na posição do cursor. Em seguida, é possível modificar o objeto utilizando a variável ab:
Dim ab As Object
Set ab = Selection.InlineShapes.AddOLEObject(ClassType:="ACTIVEBARCODE.BarcodeCtrl.1",
  FileName:="", LinkToFile:=False, DisplayAsIcon:=False)
Defina as propriedades padrão (altura, largura) do objeto utilizando a variável ab:
ab.Width = 200
ab.Height = 120
É possível acessar as propriedades e métodos do objeto código de barras utilizando a propriedade OLEFormat.Object:
ab.OLEFormat.Object.Type = 6
ab.OLEFormat.Object.Text = "987698769812"
Você também pode utilizar uma maneira mais clara de acessar as propriedades criando e utilizando uma variável, por exemplo, chamada abObject:
Dim abObject As Object
With ab.OLEFormat
  .Activate
  Set abObject = .Object
End With

abObject.Type = 6
abObject.Text = "987698769812"
Utilizando a seguinte chamada, é possível converter o objeto código de barras em um InlineShape. Observe que não é possível alterar o código de barras após a conversão.
ab.ConvertToShape
Caso não necessite mais do controle, é possível excluí-lo do documento:
 ab.Delete
Dica: Se for necessário que o Windows processe eventos futuros (frequentemente referidos como KeepWindowsAlive) dentro de uma macro, é possível forçar isso utilizando a seguinte função VBA:
DoEvents
Isso pode ser necessário, por exemplo, se o controle precisar ser redesenhado.

ActiveBarcode: Info
Macro do Word (VBA) para adicionar códigos de barras às páginas.
para Word 365, 2024, 2021, 2019, 2016, 2013, 2010
Esta macro demonstra como adicionar um código de barras a cada página contendo um conteúdo variável e um número de página.

Utilize códigos de barras na mala direta do Word

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

1


ActiveBarcode: Utilize códigos de barras na mala direta do Word.
Abra um documento de mala direta existente ou crie um novo.
2


Adicione o objeto Código de barras ao seu documento de mala direta. Posicione-o no local desejado no documento e defina as propriedades do objeto, como tipo e tamanho do código de barras.

Isso será semelhante à captura de tela a seguir, por exemplo. Observe o nome do objeto código de barras - destacado aqui em amarelo. Normalmente, será Código de barras 1. ActiveBarcode: Barcode, Word


3


É necessária uma macro para a mala direta. É possível adicionar a seguinte macro. Copie-a para a área de transferência e cole-a no editor do Visual Basic para Aplicações do 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


O resultado é semelhante ao apresentado. Na captura de tela, é possível observar também onde a macro está inserida. ActiveBarcode: Barcode, Word


5


Agora, ajuste a macro ao seu documento de mala direta:

Caso o nome do seu objeto de código de barras não seja Barcode1, modifique-o na macro - marca amarela à esquerda na captura de tela.

Agora, altere o nome do campo da sua fonte de dados que será utilizado para o código de barras. Neste exemplo, é utilizado o código do produto - marca amarela à direita na captura de tela. Altere o nome entre aspas. ActiveBarcode: Barcode, Word


6


Salve o documento e inicie a macro para uma impressão de teste.

Recomendação: Inicie a impressão de teste com uma pequena quantidade de dados para que haja menos erros de impressão em caso de falha. ActiveBarcode: Barcode, Word


7


Concluído.

Info Caso tenha colocado a macro em Normal.dot em vez de no próprio documento, o documento não deve estar no modo de design quando executar a macro. Isso resultará em um erro. Portanto, desative o modo de design antes de executar a macro.