Excel
电子表格中的条形码对象

 Standard 或更高

在 Excel 表单中嵌入条形码并使其自动化

Excel 365, 2024, 2021, 2019, 2016, 2013, 2010
下面简要介绍如何在 Excel 文档中添加条形码,并将其与单元格内容相链接。

首先,启动 Excel 并创建或打开一个文档。

确保已对 Excel 进行配置,以便显示 Developer 选项卡。为此,请单击文件选项卡进入 Excel 选项。这将切换到后台视图。然后,单击左侧选项卡组中的选项ActiveBarcode: Barcode, Excel


1


Customize Ribbon 下,启用主选项卡上的 Developer 选项,然后关闭选项窗口。ActiveBarcode: Barcode, Excel


2


现在您可以将 ActiveBarcode 控制元素嵌入到文档中。选择 Developer 选项卡。单击 ActiveX 控件范围中的 Insert 按钮,然后选择 More ControlsActiveBarcode: Barcode, Excel


3


屏幕上会出现一个对话框:ActiveBarcode: Barcode, Excel


4


选择 ActiveBarcode,然后单击 OK。现在将在文档中创建一个条形码。它将是一个标准的 EAN-128 条形码。这是默认类型。您可以将其更改为 ActiveBarcode 支持的任何条码类型: QR Code, GS1/EAN-128, Data Matrix, GTIN/EAN-13, Code 39, Code 93, GS1-Data Matrix, Code 128, PDF417, DUN-14, EAN-8, EAN-14, EAN-18, ISBN, ITF-14, NVE, PZN8, SCC-14, SSCC-18 ...现在您可以修改该条形码。您可以更改类型、文本、颜色等。为此,请右键单击条形码。弹出菜单将打开: ActiveBarcode: Barcode, Excel


5


选择 ActiveBarcode Object(活动条形码对象),然后选择 Properties(属性)ActiveBarcode 属性对话框将打开。您可以在此随意修改条形码。

另外,您还可以使用 Excel 的属性对话框。为此,请单击 Controls 区域中的 Properties 按钮:ActiveBarcode: Barcode, Excel


6


在单元格和条形码之间创建链接: 如上所述,打开 Excel 属性对话框。单击一次激活条形码对象。条形码对象的属性将显示在属性对话框中。查找名为 LinkedCell 的属性。该属性可在单元格和条形码之间创建链接:ActiveBarcode: Barcode, Excel


7


在此属性中输入链接单元格的名称。就是这样!

如果要创建一个可对多个单元格中的数据进行编码的条形码,您必须首先将这些单元格合并为一个帮助单元格。然后将该合并单元格与条形码对象连接起来。

在下面的示例中,单元格 B3 和 B4 的内容合并到单元格 B6 中。单元格 B6 与条形码对象相连。ActiveBarcode: Barcode, Excel

使用 VBA 和自动处理条形码 Excel

您可以使用 VisualBasic for Applications (VBA) 解决 Excel 中的许多问题。 在此,我们将向您展示如何使用 VBA 嵌入、使用和删除 ActiveBarcode 控件:

将 ActiveBarcode 控件嵌入工作表:
在此示例中,条形码控件将被置于单元格的正上方。这样,条形码看起来就像是在单元格内。

首先,我们读取单元格的大小:
CurrentCell = "C3"
MyHeight = Range(CurrentCell).Height
MyWidth = Range(CurrentCell).Width
MyTop = Range(CurrentCell).Top
MyLeft = Range(CurrentCell).Left
请注意,单元格应有一个最小尺寸,以便条形码可以放入其中。如果单元格太小,将显示 Size 错误。因此,我们将单元格的高度调整为 30 像素:
' Enlarge the cell height to 30 pixels
Range(CurrentCell).RowHeight = 30
以下函数将在单元格的正上方创建条形码控件:
ActiveSheet.OLEObjects.Add(ClassType:="ACTIVEBARCODE.BarcodeCtrl.1", Link:=False, _
 DisplayAsIcon:=False, Width:=MyWidth , Height:=MyHeight, Top:=MyTop + 2,_
 Left:=MyLeft + 4).Select
您可以将条形码对象与单元格直接链接:
ActiveSheet.OLEObjects(MyBarcode).LinkedCell = "B7"
为了便于访问控件,我们将控件名称存储在变量 MyBarcode 中:
MyBarcode = ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Name
现在,您可以随意使用条形码对象的 属性 方法
' set properties
ActiveSheet.OLEObjects(MyBarcode).Object.Font.Size = 8
ActiveSheet.OLEObjects(MyBarcode).Object.Type = 14 ' Code 128
ActiveSheet.OLEObjects(MyBarcode).Object.Text = Range("C3")
如果不再需要该控件,可以将其从工作表中删除:
ActiveSheet.OLEObjects(MyBarcode).Delete
提示:如果需要 Windows 在宏中处理即将发生的事件(通常称为 KeepWindowsAlive),您可以使用以下 VBA 函数强制进行处理:
DoEvents
这可能是必要的,例如,如果控件必须重新绘制。