假设字符串保存在StrChk变量中,那么只需要判断:
Len(StrChk) 与 LenB(StrConv(StrChk, vbFromUnicode) 是否相等,即可知道该变量中是否存在汉字。
理由如下:
VBA中默认英文字符串都是Unicode,双字节,
如果转化为vbFromUnicode,英文字符就变成单字节,汉字还是双字节,
如果转换之前的字符长度Len(StrChk) 与转化之后的字节长度LenB(StrConv(StrChk, vbFromUnicode)相等(LenB是计算字符的字节长度的函数),说明不含中文字符,反之含有中文字符。