vba 根据字节数截取字符串
' str 要截取的字符串
' byteLen 需要截取的字节长度
' return byteLen长度的字符串
Public Function kiritoruStr(str As String,byteLen as Integer) As String
Dim chA As String
Dim chANo As Long 'string のbyte number
Dim k As Long 'byte number
chANo = LenB(StrConv(str, vbFromUnicode)) ' 字符串的字节长度
k = 0 '当前字节数
For i = 1 To chANo
' 每次截取一个字符
chA = Mid(str, i, 1)
' 计算chA字符的字节数
m = LenB(StrConv(chA, vbFromUnicode))
' 累计字节数
k = k + m
If k < = byteLen Then
kiritoruStr = kiritoruStr & chA
Else
Exit For
End If
Next i
End Function