Word
常见问题

 Standard 或更高
条形码对象无法插入我的文档(无法插入对象)。Link
我尝试添加一个 ActiveBarcode 对象,得到一个显示 Cannot insert objectActiveBarcode object failed to initialize 的错误对话框。
之所以会发生这种情况,是因为微软更改了新安装任何 Office 产品时 ActiveX 安全设置的默认值。
ActiveBarcode 使用 ActiveX 技术,因此需要启用它们。

我们建议将安全设置设置为微软过去使用的默认设置。 为此,请打开选项对话框,然后从左侧菜单中选择 信任中心

Options dialog

如果已完成,请转到对话框右侧并单击信任中心设置按钮。

Trust Center dialog

在信任中心点击左侧菜单中的ActiveX 设置。 ActiveX 选项显示在右侧。
在这里,您可以看到 ActiveX 已完全禁用。

Active X settings dialog

我们建议您选择在启用所有控制之前提示我,并尽量减少限制
单击 确定 完成并保存新设置。

有关 Office 更改的更多信息,请参阅 Microsoft 的支持文章:
ActiveX controls are disabled by default in Microsoft 365 and Office 2024
错误信息:无法创建 ActiveBarcode 对象。 [..]Link
当我尝试使用插件插入条形码时,收到此错误消息。我该怎么办?
当无法插入条形码对象时,您会收到此错误信息。这可能有几个原因:

ActiveBarcode 或其某个组件安装不正确。在这种情况下,请重新安装 ActiveBarcode。

Office 安全设置阻止了条形码对象。ActiveBarcode 使用 ActiveX 技术,必须在信任中心启用。您可以在本文档上方的常见问题条目中找到相关说明。

条形码对象被组策略阻止。检查是否有组策略阻止 Office 中的 ActiveX 或其他活动内容。或者咨询您的管理员。

条形码对象被第三方安全软件阻止。检查您使用的安全软件是否可能阻止 Office 中的 ActiveX 或其他活动内容。或者询问您的管理员。
条形码不可修改?Link
为什么我不能更改条形码、移动它或调整它的大小?
要编辑条形码对象,必须激活设计模式。
使用此按钮切换到设计模式:
Design mode
然后用鼠标右键点击条形码,就可以更改条形码了。
关闭文档后,我无法更改条形码。Link
我用条形码对象创建了一个文档,保存后关闭了它。下次打开时,我无法更改条形码对象。
这与您安装的 Office、Excel、Access 或 Word 的安全设置有关。
打开文件时,ActiveX 组件被安全设置阻止。
您可以从可信任的位置打开文档,从而改变这种情况:

1.单击 Microsoft Office 按钮,然后单击选项按钮。
2.单击信任中心,单击信任中心设置,然后单击受信任位置。
3.将文档文件的路径添加到受信任位置。
Word 表格和标签中的条形码Link
条形码不能插入表格或标签。条形码总是出现在表格或标签之外。
如果要在表格或标签中插入条形码,默认设置是始终在文本上放置一个新对象。 这意味着不能将条形码拖入表格。 它总是跳到所需位置的上方或下方。 执行以下步骤来纠正这种情况:
右击条形码。 出现菜单,选择 Format Object...(格式化对象...)
出现对话框;点击此处的位置选项卡。
不得选择字段 Put over text,以便将条形码置于表格中。
{CONTROL ACTIVEBARCODE.BarcodeCtrl.\s}Link
控件不可见,显示 {CONTROL ACTIVEBARCODE.BarcodeCtrl.\s}
出现这种情况是因为 Word 中的设置错误。 进入 Word 的选项对话框,将字段功能设置更改为未激活。 这样,条形码就会作为图像而不是 字段函数正确显示。
使用 VBA 宏更改条形码文本Link
如何使用 VBA 宏更改条形码的编码文本?
使用以下命令更改条形码文本:
ActiveDocument.Barcode1.Text = "12345"
此处假定条形码对象的名称为 Barcode1
打印前自动更改条形码内容Link
我们想在字母上添加条形码。条形码应自动添加到每个字母中。
首先将 ActiveBarcode 对象添加到文档中。 定位条形码并设置基本属性。
查看将条形码对象插入 Word 文档的分步指南。
要在打印前自动更新条形码内容,请使用 VBA 宏:
Private Sub SetBarcode()
'Set the barcodes content (text property)
Barcode1.Text = Date
End Sub

Sub FilePrint() ' replaces normal printing via dialog
' Sets the barcode content before printing
SetBarcode
' Now launch printing:
Dialogs(wdDialogFilePrint).Show
End Sub

Sub FilePrintDefault() ' replaces default printing (no dialog)
' Sets the barcode content before printing
SetBarcode
' Now launch printing:
ActiveDocument.PrintOut Background:=False
End Sub
在功能 SetBarcode 中,您可以根据需要自定义条形码的内容。
在本例中,对当前日期进行了编码。 但您可以根据工作流程的需要,将文本属性更改为任何数据。

程序 FilePrintFilePrintDefault 都会拦截打印过程,都会调用 SetBarcode 并继续打印过程。
使用 VBA 宏添加条形码对象Link
如何使用 VBA 宏在 Word 文档中自动放置条形码?
使用以下代码在游标位置创建条形码:
Set ab = Selection.InlineShapes.AddOLEObject(ClassType:="ACTIVEBARCODE.BarcodeCtrl.1", FileName:="", LinkToFile:=False, DisplayAsIcon:=False)
要访问属性,现在可以这样使用变量 ab: ab.width=200
要访问属性和方法,请使用如下代码:
With ab.OLEFormat
.Activate
Set abobject = .Object
End With
abobject.Text = "987698769812"
现在,你可以使用 abobject 变量访问属性。
我们有大量的文档来 说明如何使用 VBA 来使用条形码对象。
Word 标签页中的条形码Link
如何使用 Word 打印带有连续编号条形码的标签?
使用这个简单的 VBA 宏,您可以将其作为一个基本框架,并根据自己的需要进行调整:
Sub barcodelabels()
' Create a label sheet and automatically add barcodes to the labels.
'
' 1. Create label sheet:
' Use a sheet with 8 labels. Use name to select the sheet.
'
Application.MailingLabel.DefaultPrintBarCode = False
Application.MailingLabel.CreateNewDocument Name:="Herma 4626", Address:="" _
, AutoText:="ExtrasEtikettenErstellen1", LaserTray:=wdPrinterManualFeed
'
' 2. for loop to create 8 barcodes:
'
For i = 1 To 8
' Create a barcode:
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Set ab=Selection.InlineShapes.AddOLEObject(ClassType:="ACTIVEBARCODE.BarcodeCtrl.1", _
FileName:="", LinkToFile:=False, DisplayAsIcon:=False)

With ab.OLEFormat
.Activate
Set ab = .Object
End With
'
' 3. Set the text of the barcode:
' This can also be a dynamic serialnumber.
'
ab.Text = "987698769812"
'
' Next label.
'
Selection.MoveRight Unit:=wdCell
Next i
End Sub
打开 Office 2003 文档时的安全警告Link
在 Office 2003 中打开 Word 或 Excel 文档时收到安全信息。如何在不降低安全级别的情况下避免这种情况?
遗憾的是,Office 2003 与具有可信位置的后续版本相比,没有如此优雅的解决方案。 不过,通过在 Windows 注册表中插入一个键值,Office 2003 中的 ActiveX 控件一般都可以停止查询。 请注意,该解决方案不仅适用于 ActiveBarcode,也适用于所有 ActiveX 控件。
注册表条目如下

[HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Security]

"UFIControls"=dword:00000001

我们建议您在更改注册表前进行备份。