如text1.text="abcd"
  i="text1.text"
  y=i
怎样使y的值得到"abcd"而不是"text1.text"
这样的表达式怎样写?

解决方案 »

  1.   

    text1.text="abcd"
      i=text1.text
      y=i
      

  2.   

    楼主的意思是通过字符串指定属性名来获得属性值吧。Private Sub Command1_Click()
        MsgBox CallByName(Text1, "Text", VbGet)
    End Sub
      

  3.   

    可能是我说得不明白以致楼主还是没看明白。
    终极武器,贴代码Private Sub Command1_Click()
        Dim str As String
        Dim strArray
        Dim ctl As Control
        str = "Text1.Text"
        strArray = Split(str, ".")
        
        For Each ctl In Controls
            If ctl.Name = strArray(0) Then
                str = CallByName(ctl, strArray(1), VbGet)
                Exit For
            End If
        Next
        MsgBox str
    End Sub你自己把这个整理成一个函数比如cd()
    然后把y=i改成y=cd(i)就可以了。
      

  4.   

    多谢了 sequh(夏克) 我明白了,结贴!