length=0 for i = 1 to len(str) if chr(mid(str,i,1))>255 or chr(mid(str,i,1))<0 then length = length + 2 else length =length + 1 end if next i
lenb(strconv("汉字abc123",vbFromUnicode ))
StrConv("汉字+English", vbFromUniCode)
哪里用的了这么麻烦,一个API 就可以搞定了,自动计算中文和英文,中文两个字符,英文一个字符。Public Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long?lstrlen("中文Chinese") 11
for i = 1 to len(str)
if chr(mid(str,i,1))>255 or chr(mid(str,i,1))<0 then
length = length + 2
else
length =length + 1
end if
next i
11