对于一段文字要截取一部分,截取后的字节长度要符合要求(等于或略小于某数,注意不是字符长度哦)。由于中西文的关系,不能直接用Len函数实现。我用了以下自定义函数,但存在的问题是对回车符等不能判断。
请问大家有没有更好的办法?
Public Function GetLenStr(strBeij As String, lenGuiZJ As Integer) As String
'截取规定字节长度字符,lenGuiZJ规定字节长度,strBeij要截取的文字串
Dim ZFlen As Integer, tmpSTR As String, lenZJS As Integer
'ZFlen表示字符长度,tmpSTR临时存截取后的文字串,lenZJS临时截取串的字节长度
ZFlen = Fix(lenGuiZJ / 2)
tmpSTR = Left(strBeij, ZFlen)
lenZJS = Len(StrConv(tmpSTR, vbFromUnicode)) * 2
Do While lenGuiZJ - lenZJS > 0
tmpSTR = Left(strBeij, ZFlen + (lenGuiZJ - lenZJS) / 2)
lenZJS = Len(StrConv(tmpSTR, vbFromUnicode)) * 2
Loop
GetLenStr = tmpSTR
End Function
[此贴子已经被作者于2007-10-9 16:19:32编辑过]