dim a(1 to 5) as integer
dim b as string
dim i as integer
for i=1 to 5
a(i)=i
next
for i=1 to 5
b="a(" & i & ")"
msgbox XXXX(b) ‘用该函数
next
执行后屏幕依次显示1,2,3,4,5。
...全文
给本帖投票
8214打赏收藏
vb有没有这样的函数?
vb有没有这样的函数? 根据数组名字符串返回数组变量的值,如下代码: dim a(1 to 5) as integer dim b as string dim i as integer for i=1 to 5 a(i)=i next for i=1 to 5 b="a(" & i & ")" msgbox XXXX(b) ‘用该函数 next 执行后屏幕依次显示1,2,3,4,5。
你需要的功能可以这样实现:
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 Sub
Private Sub Command2_Click()
For i = 1 To 5
MsgBox element(b, i)
Next
End Sub
Private Sub Form_Load()
For i = 1 To 5
a(i) = i & "***"
b(i) = "***" & i
Next
End Sub
Function element(ByVal x As Variant, i As Integer) As String
element = x(i)
End Function
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 Long
Public Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
End Function
Private 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