|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
Function Code128B(tar As Range) '128B鎢:ChrW(204).
Dim s$, i%, ss$, j%, curR%, checkB%
curR = tar.Row
s = tar.Value
checkB = 1 '羲宎弇腔鎢硉峈104 mod 103 =1
For i = 1 To Len(s)
ss = Mid(s, i, 1)
j = Asc(ss) '羶徹薦拸虴趼睫,掀犖趼.
If j < 135 Then
j = j - 32
ElseIf j > 134 Then
j = j - 100
End If
checkB = (checkB + i * j) Mod 103 '數呾苺桄弇
Next
If checkB < 95 And checkB > 0 Then '衄腔訧蹋眻諉103腔耀,賤佽祥喃煦,秪峈衄腔苺桄弇閉徹127奀,炵苀頗"勛"裁坳蠅(蟀湍倎砦睫).
checkB = checkB + 32
ElseIf checkB > 94 Then '趼极扢离奀,跺梗趼耀掩隅砱賸2跺硉.夤舷趼极恅璃奀夔楷珋.
checkB = checkB + 100
End If
Code128B = ChrW(204) & s & IIf(checkB, ChrW(checkB), Chr(32)) & ChrW(206) 'ChrW(32)拸楊淏殿隙
End Function
=================================================
Function Code128B(tar As Range) '128B碼:ChrW(204).
Dim s$, i%, ss$, j%, curR%, checkB%
curR = tar.Row
s = tar.Value
checkB = 1 '開始位的碼值為104 mod 103 =1
For i = 1 To Len(s)
ss = Mid(s, i, 1)
j = Asc(ss) '不過濾無效字符,比如漢字.
If j < 135 Then
j = j - 32
ElseIf j > 134 Then
j = j - 100
End If
checkB = (checkB + i * j) Mod 103 '計算校驗位
Next
If checkB < 95 And checkB > 0 Then '有的資料直接求103的模,解說不充分,因為有的校驗位超過127時,系統會"吃"掉它們(連帶休止符).
checkB = checkB + 32
ElseIf checkB > 94 Then '字体設置時,字模被定義了2個值.觀察字体文件時能發現.
checkB = checkB + 100
End If
Code128B = ChrW(204) & s & IIf(checkB, ChrW(checkB), Chr(32)) & ChrW(206) 'ChrW(32)拸楊淏殿隙
End Function
要另外安裝code128b字型 |
|