vb有没有这样的函数?
根据数组名字符串返回数组变量的值,如下代码:dim a(1 to 5) as integer
dim b as string
dim i as integerfor i=1 to 5
a(i)=i
nextfor i=1 to 5
b="a(" & i & ")"
msgbox XXXX(b) ‘用该函数
next执行后屏幕依次显示1,2,3,4,5。

解决方案 »

  1.   

    你需要运行时动态执行.
    你用msdn查找一下callbyname这个函数的用法,应该能够实现.
      

  2.   

    几乎所有的语言的数组都不支持这样的键值(Key-Value)查找,但是在VB中可以通过Collection来实现。
      

  3.   

    Option Explicit
    Private Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As LongPublic Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
        ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
    End FunctionPrivate Sub Command1_Click()
        ExecuteLine "msgbox (1+2)*3/4"
        ExecuteLine "dim a as integer"
        ExecuteLine "a = 10"
        ExecuteLine "Print a"
        ExecuteLine "form2.show"
    End Sub看看这个能不能达到你的要求~~
      

  4.   

    呵呵,有这样做的必要吗?
    如果要这样,就用Collection吧。
      

  5.   

    用EbExecuteLine这个函数就完全能够实现了。
      

  6.   

    需要注意
    EbExecuteLine 只能用在设计模式
    如果运行时可以使用microsoft script control使用的程序支持vbscript
      

  7.   

    你需要的功能可以这样实现:
    Dim i As Integer
    Dim a(1 To 5) As String
    Dim b(1 To 5) As String
    Private Sub Command1_Click()
    For i = 1 To 5
    MsgBox element(a, i)
    Next
    End SubPrivate Sub Command2_Click()For i = 1 To 5
    MsgBox element(b, i)
    NextEnd SubPrivate Sub Form_Load()
    For i = 1 To 5
    a(i) = i & "***"
    b(i) = "***" & i
    NextEnd Sub
    Function element(ByVal x As Variant, i As Integer) As String
    element = x(i)
    End Function
      

  8.   

    dim a(1 to 5) as string
    dim i as integerfor i=1 to 5
    a(i)=i
    nextmsgbox join(a, " ") '用该函数执行后屏幕依次显示1,2,3,4,5。