1个字母数字算长度1,7个中文长度应该是14最好情况14个字母,这时Len得到的是14 最坏情况7个中文,这时Len得到的是7Dim i as Integer For i=7 to 15 if i个字符的长度大于14 then 切Len(i-1) endif next
'ClassText(1)第一行 'ClassText(2)第二行 'Text为要打印的字符串 ClassCount = LenB(StrConv(Text, vbFromUnicode)) ClassCount2 = Len(Text) If ClassCount > 7 Then For RowCount = 1 To ClassCount2 If Asc(Mid(Text, RowCount, 1)) > 127 Or Asc(Mid(Text, RowCount, 1)) < 0 Then MidStringC = MidStringC + 2 If MidStringC <= 7 Then ClassText(1) = ClassText(1) + Mid(Text, RowCount, 1) Else ClassText(2) = ClassText(2) + Mid(Text, RowCount, 1) End If Else MidStringC = MidStringC + 1 If MidStringC <= 7 Then ClassText(1) = ClassText(1) + Mid(Text, RowCount, 1) Else ClassText(2) = ClassText(2) + Mid(Text, RowCount, 1) End If End If Next Else ClassText(1) = Text ClassText(2) = "" End If
是这个吧!~你缺了点害的我好找
最坏情况7个中文,这时Len得到的是7Dim i as Integer
For i=7 to 15
if i个字符的长度大于14 then
切Len(i-1)
endif
next
'ClassText(2)第二行
'Text为要打印的字符串
ClassCount = LenB(StrConv(Text, vbFromUnicode))
ClassCount2 = Len(Text)
If ClassCount > 7 Then
For RowCount = 1 To ClassCount2
If Asc(Mid(Text, RowCount, 1)) > 127 Or Asc(Mid(Text, RowCount, 1)) < 0 Then
MidStringC = MidStringC + 2
If MidStringC <= 7 Then
ClassText(1) = ClassText(1) + Mid(Text, RowCount, 1)
Else
ClassText(2) = ClassText(2) + Mid(Text, RowCount, 1)
End If
Else
MidStringC = MidStringC + 1
If MidStringC <= 7 Then
ClassText(1) = ClassText(1) + Mid(Text, RowCount, 1)
Else
ClassText(2) = ClassText(2) + Mid(Text, RowCount, 1)
End If
End If
Next
Else
ClassText(1) = Text
ClassText(2) = ""
End If