Word
Объекты штрих-кода с VBA

 Standard или выше

Использование и автоматизация штрих-кодов с помощью VBA

Word 365, 2024, 2021, 2019, 2016, 2013, 2010, 2007, 2003
Вы можете использовать VisualBasic для приложений (VBA) для решения многих задач в Word. Здесь мы продемонстрируем, как встроить, использовать и удалить элемент управления ActiveBarcode с помощью VBA:

Включение элемента управления ActiveBarcode в документ:
В данном примере элемент управления штрих-кодом будет размещен в позиции курсора. Затем вы можете изменить объект с помощью переменной ab:
Dim ab As Object
Set ab = Selection.InlineShapes.AddOLEObject(ClassType:="ACTIVEBARCODE.BarcodeCtrl.1",
  FileName:="", LinkToFile:=False, DisplayAsIcon:=False)
Установите стандартные свойства (высота, ширина) объекта с помощью переменной ab:
ab.Width = 200
ab.Height = 120
Вы можете получить доступ к свойствам и методам объекта штрих-кода с помощью свойства OLEFormat.Object:
ab.OLEFormat.Object.Type = 6
ab.OLEFormat.Object.Text = "987698769812"
Вы также можете использовать более понятный способ доступа к свойствам, создав и используя переменную, например, с именем abObject:
Dim abObject As Object
With ab.OLEFormat
  .Activate
  Set abObject = .Object
End With

abObject.Type = 6
abObject.Text = "987698769812"
С помощью следующего вызова вы можете преобразовать объект штрих-кода в InlineShape. Обратите внимание, что после преобразования штрих-код не подлежит изменению.
ab.ConvertToShape
Если элемент управления больше не требуется, его можно удалить из документа:
 ab.Delete
Подсказка: если необходимо, чтобы Windows обрабатывала предстоящие события (часто называемые KeepWindowsAlive) в макросе, вы можете принудительно выполнить это с помощью следующей функции VBA:
DoEvents
Это может потребоваться, например, если элемент управления должен перерисовать себя заново.

ActiveBarcode: Info
Макрокоманда Word (VBA) для добавления штрих-кодов на страницы.
для Word 365, 2024, 2021, 2019, 2016, 2013, 2010
Этот макрос демонстрирует, как добавить один штрихкод на каждую страницу, содержащую переменное содержимое и номер страницы.

Использование штрих-кодов в слиянии писем в Word

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

1


ActiveBarcode: Использование штрих-кодов в слиянии писем в Word.
Откройте существующий документ слияния писем или создайте новый.
2


Добавьте объект «Штрихкод» в документ слияния писем. Разместите его в нужном месте документа и настройте свойства объекта, такие как тип и размер штрихкода.

Это будет выглядеть, как на следующем скриншоте, например. Обратите внимание на название объекта штрих-кода, выделенное здесь желтым цветом. Обычно это будет Barcode1. ActiveBarcode: Barcode, Word


3


Для слияния почты требуется макрос. Вы можете добавить следующий макрос. Скопируйте его в буфер обмена и вставьте из него в редактор Visual Basic for Applications в 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


Результат выглядит следующим образом. На скриншоте также можно увидеть, где вставлен макрос. ActiveBarcode: Barcode, Word


5


Теперь настройте макрос для вашего документа слияния почты:

Если имя вашего объекта штрих-кода не Barcode1, измените его в макросе — левая желтая отметка на скриншоте.

Теперь необходимо изменить название поля из источника данных, которое будет использоваться для штрих-кода. В данном примере используется Productcode — правая желтая отметка на скриншоте. Измените название в кавычках. ActiveBarcode: Barcode, Word


6


Сохраните документ и запустите макрос для тестовой печати.

Рекомендация: Начните тестовую печать с небольшим объемом данных, чтобы в случае ошибки количество неверных отпечатков было минимальным. ActiveBarcode: Barcode, Word


7


Готово.

Info Если вы поместили макрос в Normal.dot, а не в сам документ, документ не должен находиться в режиме дизайна при выполнении макроса. В противном случае произойдет ошибка. Поэтому перед запуском макроса отключите режим дизайна.