E灵15版开始开发二维码和条形码接口,只要您安装了《E灵》15以及上版本,那么就可以通过VBA调用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

演示

 

下载案例文件    下载E灵