验020404.020424.020425.020458.020459.020471.022472.020514.020542..020548.020549
退002480.002496
退货未税金额-5004.27元~~曹丽~~薛平
这是一个多行文本框。?
我想实现取出每行的值。
如:s1=验020404.020424.020425.020458.020459.020471.022472.020514.020542..020548.020549
s2=退002480.002496
s3=退货未税金额-5004.27元~~曹丽~~薛平

解决方案 »

  1.   

    每行中应该有硬回车吧?dim s() as string
    s=split(text1.text,vbcrlf)s 数组每一元素就是你要的一行。
      

  2.   

    只要有回车就行了。行数可以检测 s 数组的上界。dim s() as string
    s=split(text1.text,vbcrlf)dim lines as long
    lines=ubound(s)+1    '数组下标是从0算起的msgbox "共有 " & cstr(lines) & "行。"msgbox "这是第1行:" &  s(0)
      

  3.   

    多行文本框是可以自动换行的,不一定有0D0A,否则这个问题就太简单了。
    向它发送EM_GETLINE消息可以取得你指定行的内容。
      

  4.   

    而EM_GETLINECOUNT可以知道它的内容有几行。
      

  5.   


        Private Const EM_GETLINECOUNT = &HBA    
        Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LonglngC = SendMessage(Text1.hWnd, EM_GETLINECOUNT, 0, ByVal 0&)