不会吧?我怎么没有遇到过这样的问题呀?
Dim I As String
I = "测试                        "
MsgBox Len(Trim(I))
显示结果就是2个呀?怎么会出现你这样的情况呢?

解决方案 »

  1.   

    注意,你那个字符串后面可能不是空格 chr(32)!
      

  2.   

    不可能的,也许你的字符串后面还有别的看不到的字符呢,如CHR(0)呢。
    你可检测一下:Debug.Print Asc(Right$(T, 1))
      

  3.   

    你的字符串T是不是从别的地方paste过来的吧?,要不就是调用了api函数的返回值
      

  4.   

    顺便说一下,有时候出现这样的问题,列如:
    Dim A as String*255
    GetUserName(A,len(a))
    '注意,这个时候问题出现了,
    dim B as String
    B="TEST:
    msgbox A+B
    结果只显示A值,B值并没有显示!
      

  5.   

    不应该是全角的空格,因为全角空格也能去掉(我试过了),应该是其它不可见字符如chr(255)或者其它的
      

  6.   

    你用我下面的代码调用一下,看看转换成ASC码后,后面的空格是不是都是32就知道原因了。
    Call Trans2Asc("你的字符串    ")Private Sub Trans2Asc(strValue As String)
       Dim intCount   As Integer
       Dim strAsc     As String
       
       For intCount = 1 To Len(strValue)
          strAsc = strAsc & Asc(Mid(strValue, intCount, 1)) & Space(1)
       Next
       Debug.Print strAsc
    End Sub
      

  7.   

    >>顺便说一下,有时候出现这样的问题,列如:
    >>Dim A as String*255
    >>GetUserName(A,len(a))
    >>'注意,这个时候问题出现了,
    >>dim B as String
    >>B="TEST:
    >>msgbox A+B
    >>结果只显示A值,B值并没有显示!因为 A 现在为 "name\0\0\0\0\0\0\0..."
    它以chr$(0)结尾
    如果想要取得username的话,还要加上一句:a=left(a,instr(a,chr$(0))-1)
      

  8.   

    不可见字符不一定是空格呀!你错怪Trim了。
      

  9.   

    各"位人兄特" !! 别是ztchen(ZT) :
    我应该把问题讲清楚:
    我用自定义数据Type Datas TestA As string * 40 
    TestB As string * 40End TypeDim Mydata As Datas中间省略..... 用 open 读Open "C:\123.txt" For Random As #1 Len = Len(Mydata)Mydata.TestA ="Trim函数是废物!"
    Mydata.TestA ="Fuck Trim"Put #1,1,Mydata'--------- 问题出现了 !!!!!!!!!!!!!!!!!!!!!!! -----------
    Get #1,1,MydataText1.text = Trim(Mydata.TestA) 
    Text2.text  = Trim(Mydata.TestB)'----------------结果----------------
    Text1.text 里是"Trim函数是废物!                       "
    Text1.text 里是"Fuck Trim"你们看英文能去空格,中文不能!!!! 解释 !!!!!!!!!!!!!!!!!!!
    解释 !!!!!!!!!!!!!!!!!!! 
      

  10.   

    上面打错了....Mydata.TestA ="Trim函数是废物!"
    Mydata.TestB ="Fuck Trim"反正我的不行不信就算........................一会人人有分加
      

  11.   

    注意以下区别:
    dim s as string *255
    dim ss as string
    ss="VB Trim函数不是废物" & space(122)
    s="VB Trim函数不是废物"
    trim(ss)="VB Trim函数不是废物" 
    trim(s)<>"VB Trim函数不是废物" 
    对s 后面看起来是空格的字符其实是NULL