假设有十个文本框,名称分别为Text1,Text2至Text10,我想将这十个文本框的文字连接成一个字符串放在字符串变量mystr中,我使用如下代码:for i=1 to 10
textstr = "Text" & CStr(i)
mystr = mystr & textstr.Text
next这段代码的本质是想用代码:textstr = "Text" & CStr(i)来遍历所有文本框,但是这么写却是错误的,请问正确的写法是什么?

解决方案 »

  1.   

    Option ExplicitPrivate Sub Command1_Click()
        Dim obj As Object
        Dim StrTemp As String    For Each obj In Me.Controls
            If TypeName(obj) = "TextBox" Then
                StrTemp = StrTemp & obj.Text
            End If    Next
        MsgBox StrTemp
    End Sub
      

  2.   

    Private Sub Command1_Click()
       Dim obj As Object
        Dim StrTemp() As String
        ReDim StrTemp(0)
        Dim c As Integer
        For Each obj In Me.Controls
            If TypeName(obj) = "TextBox" Then
                c = CInt(Mid(obj.Name, InStr(LCase(obj.Name), "text") + 4))
                If c - 1 > UBound(StrTemp) Then ReDim Preserve StrTemp(c - 1)
                StrTemp(c - 1) = StrTemp(c - 1) & obj.Text
            End If    Next
        MsgBox Join(StrTemp, "")
    End Sub
      

  3.   


        Dim i As Integer
        For i = 0 To Me.Controls.Count - 1
            If TypeOf Me.Controls(i) Is TextBox Then
                MsgBox Controls(i).Text
            End If
        Next i
      

  4.   

    Dim x As Object
    for i=1 to 10 
    textstr = "Text" & CStr(i)    '这样得到的是控件名称
       For Each x In Me.Controls  '遍历控件
          If x.Name = textstr Then mystr = mystr & x.Text 
       Next
    next i
      

  5.   

    Dim x As Controlfor i=1 to 10 
       textstr = "Text" & CStr(i) 
       For Each x In Me.Controls
          If x.Name = textstr Then mystr = mystr & x.Text 
       Next
    next 
      

  6.   

    改成控件数组最方便
      text1(0),text1(1),text1(2),text1(3),...text1(9),