分享

Excel 请教一个关于CODE128条形码宽度的问题

 xionggeng99 2020-04-28
01.png
如上图所示,同样的内容,拉出不同的宽度(长度),其中123是扫描不出来的,只有4能扫描得到,请问一下大神,这个有什么说法吗?
现在的需求是效果是1或者2,效果4太长啦,不符合客户的模板要求,请问要如何解决?希望各位老师们指导一下,谢谢!

解决的方法如下:
首先,需要在使用的电脑上先安装Code 128字体(必须,已附).然后再调整一下字体大小就可以了


模块里的自定义函数:
  1. Public Function GetCode128B(ByVal rn As Range) As String

  2.         Dim result As String, STR As String

  3.         Dim checksum As Integer, i_tmp As Integer

  4.         Dim checkCode As String '生成验证码

  5.         checksum = 104

  6.         STR = rn.Value

  7.         For i = 1 To Len(STR) Step 1

  8.             i_tmp = AscW(Mid(STR, i, 1))

  9.             If i_tmp >= 32 Then

  10.                 checksum = checksum + (i_tmp - 32) * i

  11.             Else

  12.                 checksum = checksum + (i_tmp + 64) * i

  13.             End If

  14.         Next

  15.         checksum = checksum Mod 103

  16.         If checksum < 95 Then

  17.             checksum = checksum + 32

  18.         Else

  19.             checksum = checksum + 100

  20.         End If

  21.         checkCode = ChrW(checksum)

  22.         result = ChrW(204) + STR + checkCode + ChrW(206)

  23.         GetCode128B = result

  24. End Function



宏引用:
  1. Sub 转化()

  2.     Dim n As Integer, i As Integer

  3.     n = Selection.Count

  4.     For i = 1 To n

  5.         If Selection.Cells(i) <> '' Then

  6.             Application.EnableEvents = False

  7.                 Selection.Cells(i).Font.Name = 'Code 128'

  8.                 Selection.Cells(i) = GetCode128B(Selection.Cells(i))

  9.             Application.EnableEvents = True

  10.         End If

  11.     Next

  12. End Sub



jdfw.gif

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多