请教如将这段VBA的程序转换成用C#来写?
网上一段在excel写的 vba,
有没有高手帮用C#与改写:
代码如下:
Function code128b(Tar As Range) '128B码:ChrW(204).
Dim s$, i%, ss$, j%, checkB%
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)
End Function
注:这个是把CODE128码加上前后较验码的方法。