一句代码生成二维码,一句代码生成条形码
生产企业或者物流快递需要用到大量的二维码和条形码,但是要自行编写代码批量生成二维码或者条形码并不容易,涉及的知识面很广。
Excel插件《E灵》提供了二维码接口和条形码接口,您只需要一句代码调用接口就可以生成二维码,一句代码调用条形码接口就可以生成条形码。配合循环语句就可以批量生二维码或者条形码了。具体操作如下:
一:下载并安装插件 E灵,下载地址
二:双击安装,安装成功以后打开Excel可以看到“E灵”选项卡
三:利用VBA调用二维码接口生成二维码
调用E灵的二维码接口语法如下:
Application.COMAddIns.Item("Eling").Object.ma "二维码内容",高度(单位:厘米) , 单元格, 边距(单位:磅)
参数说明
1.过程名称 Ma,完整书写方式是:Application.COMAddIns.Item("Eling").Object.ma
2.它有四个参数,第一参数是生成二维码的值,文本格式,例如“中华人民共和国”或者Range(“a1”).value
3.第二参数是二维码的存放位置,用单元格表示,例如Range(“b2”).
4.第三参数是二维码的高度,以厘米为单位
5.第四参数是二维码的边距,值为是0时表示靠边,值为2表示上边距为2(单位是磅)。
代码举例
1.用"20190325-24" 生成3厘米高的二维码,放在C3单元格中
Sub 生成单个二维码()
Application.COMAddIns.Item("Eling").Object.ma "20190325-24", 3, Range("c3"), 2
End Sub
2.用订单号码、型体名称、单位和数量批量生成二码
Sub 批量生成二维码()
Dim cell As Range, RowItem As Integer, Mysrt As String, Eling As Object
Set Eling = Application.COMAddIns.Item("Eling").Object
Application.ScreenUpdating = False
With Range("a2:d10") '根据自己的情况修改范围
For RowItem = 1 To .Rows.Count
Mysrt = ""
For Each cell In .Rows(RowItem).Cells
If Len(cell.Value) > 0 Then Mysrt = Mysrt & "," & cell.Value
Next cell
Eling.ma Mid(Mysrt, 2, 999), 1.5, Cells(RowItem + 1, "E"), 2
Next RowItem
Application.ScreenUpdating = True
MsgBox "生成完毕,一共" & .Rows.Count & "个二维码", vbOKOnly, "提示"
End With
End Sub
3.用订单号码、型体名称、单位和数量批量生成二维码
Sub 批量生成含标题的二维码()
Dim cell As Range, RowItem As Integer, ColCount As Byte, Mysrt As String, Eling As Object
Set Eling = Application.COMAddIns.Item("Eling").Object
Application.ScreenUpdating = False
With Range("a2:d10") '根据自己的情况修改范围
For RowItem = 1 To .Rows.Count
Mysrt = "": ColCount = 0
For Each cell In .Rows(RowItem).Cells
ColCount = ColCount + 1
Mysrt = Mysrt & vbCrLf & Cells(1, ColCount) & ":" & cell.Value
Next cell
Eling.ma Mid(Mysrt, 3, 999), 1.5, Cells(RowItem + 1, "E"), 2
Next RowItem
Application.ScreenUpdating = True
MsgBox "生成完毕,一共" & .Rows.Count & "个二维码", vbOKOnly, "提示"
End With
End Sub
演示一下操作过程:
用VBA生成条形码教学
调用E灵的二维码接口语法如下:
TXM("条形码内容", "编码", 高度, 单元格对象, "字体", 字号, 加宽倍数)
参数说明
1.过程名称 Ma,完整书写方式是:Application.COMAddIns.Item("Eling").Object.ma
2.第一参数是条形码的内容,不能含有中文
3.第二参数是条形码的编码,可选值是"Code128A","Code128B"和"Code128C",其中Code128C生成的图片更窄,但它不支持字母,只支持数值。
4.第三参数是高度,单位为磅,通常在40-60之间,不宜过高或者过低。
5.第四参数是单元格对象,条形码需要放在哪个单元格,就用哪个单元格对象
6.第五参数是字体名称,可以是"宋体"、"黑体"、"Impact"、"Arial"等等
7.第六参数是字号,即条形码下方的字符大小,通常用10即可,不宜太大。
8.第七参数是加宽倍数,0表示不加宽,1表示加宽一倍,不支持小数
9.请尽量用10号字体,否则可能不居中。
代码举例
1.用“3265798487”生成Code128C类型的高度为50磅的条形码,存放在A1单元格中。条形码的字符采用10号宋体字。
Sub 生成单个条形码()
Application.COMAddIns.Item("Eling").Object.tiaoma "3265798487", "Code128C", 50, Range("a1"), "黑体", 10, 0
End Sub
2.用B2:B7区域的值和成条形码,存放在D2:D7区域中:
Sub 批量生成()
Dim cell As Excel.Range '声明变量
With Application.COMAddIns.Item("Eling").Object '调用E灵插件接口
For Each cell In Range("b2:b7") '遍历b2:b7区域的每一个单元格
'调用工具TiaoMa来生成条形码,插入条形码时会自动调整单元格的高度
.tiaoma cell.Value, "Code128B", 50, cell.Offset(0, 2), "黑体", 10, 0
Next
End With
End Sub
演示一下操作过程