Word
Objetos de código de barras com VBA

 Standard ou superior

Utilização e automatização de códigos de barras com VBA

Word 365, 2024, 2021, 2019, 2016, 2013, 2010, 2007, 2003
Pode utilizar o VisualBasic for Applications (VBA) para resolver muitas coisas no Word. Aqui vamos mostrar-lhe como incorporar, utilizar e eliminar o controlo ActiveBarcode com VBA:

Incorporar o Controlo ActiveBarcode num documento:
Neste exemplo, será colocado um controlo de código de barras na posição dos cursores. Em seguida, pode 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
Pode aceder às 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"
Também pode utilizar uma forma mais simples de aceder às propriedades, criando e utilizando uma variável, por exemplo, denominada 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 num InlineShape. Note-se que não é possível alterar o código de barras após a conversão.
ab.ConvertToShape
Se já não precisar do controlo, pode eliminá-lo do documento:
 ab.Delete
Sugestão: Se for necessário que o Windows processe os eventos futuros (frequentemente referidos como KeepWindowsAlive) numa macro, pode forçá-lo utilizando a seguinte função VBA:
DoEvents
Isto pode ser necessário, por exemplo, se o Controlo tiver de se desenhar de novo.

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

Utilizar códigos de barras na fusão de correio do Word

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

1


ActiveBarcode: Utilizar códigos de barras na fusão de correio do Word.
Abra um documento de mala direta existente ou crie um novo.
2


Adicione o objeto de código de barras ao seu documento de fusão de correio. Coloque-o no local pretendido no documento e defina as Propriedades do objeto, como o tipo e o tamanho do código de barras.

Por exemplo, a imagem de ecrã que se segue é a seguinte. Repare no nome do objeto código de barras, aqui destacado a amarelo. Normalmente, será Barcode1. ActiveBarcode: Barcode, Word


3


É necessária uma macro para a fusão de correio. Pode adicionar a seguinte macro. Copie-a para a área de transferência e cole-a no editor Visual Basic for Applications 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 é o seguinte. Na captura de ecrã, também é possível ver onde a macro está inserida. ActiveBarcode: Barcode, Word


5


Agora, ajuste a macro ao seu documento de fusão de correio eletrónico:

Se o nome do seu objeto de código de barras não for Barcode1, altere-o na macro - marca amarela à esquerda na captura de ecrã.

Agora, altere o nome do campo da sua fonte de dados, que deve ser utilizado para o código de barras. Neste exemplo, é utilizado Productcode - marca amarela à direita na captura de ecrã. Altere o nome dentro das aspas. ActiveBarcode: Barcode, Word


6


Guardar o documento e iniciar a macro para uma impressão de teste.

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


7


Feito.

Info Se tiver colocado a macro em Normal.dot em vez de no próprio documento, este não deve estar no modo de desenho quando executar a macro. Se o fizer, ocorrerá um erro. Por conseguinte, desativar o modo de desenho antes de executar a macro.