Utilizando e automatizando códigos de barras com VBA em Word
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.ConvertToShapeCaso não necessite mais do controle, é possível excluí-lo do documento:
ab.DeleteDica: 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:
DoEventsIsso pode ser necessário, por exemplo, se o controle precisar ser redesenhado.