VB.如何在另一个变量名中使用一个变量



我该如何做类似的事情呢:

 Dim amnt As Integer
   For x As Integer = 1 To 6
        If amnt[x] = 0 Then
          btn[x].Enabled = False
        End If
    Next x

我的意思是,我可以通过在名称中使用另一个变量来引用一个变量吗?例如,如果"x"是4,那么我想将按钮"btn4"更改为。enabled = False,但我也希望能够更改我正在更改属性的按钮。比如

 If (variablesName & x) = 0 Then

如果x是4,那么它应该是这样的

If variablesName4 = 0 Then

如果您的意思是通过提供它的名称作为字符串来计算变量-那么这不能在VBA中完成。

例如:

Dim testVar As Integer
Dim v As String
v = "Var"
testVar = 5
Debug.Print test & v '// error
Debug.Print "test" & v '// prints "testVar" as a string
Debug.Print "testVar" '// prints "testVar" as a string
Debug.Print testVar '// prints "5" <~~ only way it can be done

但是,对于某些控件和其他一些项,您可以访问父集合并提供字符串值以获得正确的索引。比如:

For i = 1 To 10
    '// Will set checkboxes 1 to 10 to be checked
    myForm.Controls("Checkbox" & i).Checked = True
Next

作为它的立场-这是一个太宽泛的问题,给出一个明确的答案,但根据您正在处理的对象的类型,您可能能够以这种方式访问父集合

最新更新