中文Public Function isChinese(ByVal asciiv As Integer) As Boolean If Len(Hex$(asciiv)) > 2 Then isChinese = True Else isChinese = False End If End Functionasciiv为中文的ascii码数字用isnumeric检测
给你个计算中英文混合字符串长度的例子参考: Public Function GetStrLen(ByVal pString As String) As Long '计算字符串的长度 Dim X As Long Dim Y As Long Dim i As Long pString = Trim(pString) X = Len(pString) Y = 0 For i = 1 To X If Asc(Mid(pString, i, 1)) < 0 Or Asc(Mid(pString, i, 1)) > 255 Then '如果是汉字 Y = Y + 2 Else Y = Y + 1 End If Next GetStrLen = Y End Function
If Len(Hex$(asciiv)) > 2 Then
isChinese = True
Else
isChinese = False
End If
End Functionasciiv为中文的ascii码数字用isnumeric检测
Public Function GetStrLen(ByVal pString As String) As Long
'计算字符串的长度
Dim X As Long
Dim Y As Long
Dim i As Long
pString = Trim(pString)
X = Len(pString)
Y = 0
For i = 1 To X
If Asc(Mid(pString, i, 1)) < 0 Or Asc(Mid(pString, i, 1)) > 255 Then '如果是汉字
Y = Y + 2
Else
Y = Y + 1
End If
Next
GetStrLen = Y
End Function