我有一个变量strFunction,然后我还有另一个字符串strName = "strFunction",我想知道的是如何使用strName获得strFunction的值。

例如,诸如getValue(strName)之类的东西为我提供了strFunction的值。在Access VBA中可以吗?

谢谢!

编辑:

我有一个strFunction字符串,它是一个const字符串。
在我的代码中,我想使用Len("strFunction")来测试它的长度,但是我得到的是长度“strFunction”。因此,我需要一个变量值获取值功能。我已经尝试过Eval(),但是即使我写了一个get_strFunction()eval("get_strFunction()")也给我错误,告诉我它找不到它,但是它无法做到这一点。

Private Const strFunction as String = "FilterByType_1"
Private Function get_strFunction()
    get_strFunction = strFunction
End Function

最佳答案

“我有一个变量strFunction,然后还有另一个字符串strName =“strFunction”,我想知道的是如何通过使用strName来获取strFunction的值。”

代替变量,strFunction可能是VBA集合中某个项目的键。

Public Sub darkjh()
    Dim strName As String
    Dim col As Collection
    Set col = New Collection
    col.Add "FilterByType_1", "strFunction"
    strName = "strFunction"
    Debug.Print col(strName)
    Set col = Nothing
End Sub

编辑:可以使用Scripting.Dictionary代替VBA集合。
Dim strName As String
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
dict.Add "strFunction", "FilterByType_1"
strName = "strFunction"
Debug.Print dict(strName)
Set dict = Nothing

关于ms-access - 如何在VBA中使用字符串获取对变量的引用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6646864/

10-17 01:34