我的VBA逻辑中包含以下变量:sFunctionName,sParam1,sParam2,sParam3从表中填充的所有字符串变量。我想用这些变量来调用一个函数。我已经尝试使用Application.Run(sFunctionName,sParam1)并且语句失败,但是当我使用Application.Run(sFunctionName)时它工作得很好。我也试过Eval对某人的建议没有运气。有人能让我知道我错过了什么,或者我是否能做我想做的事情?我感谢任何和所有的帮助。
谢谢, Ĵ
答案 0 :(得分:2)
#1。关于 Eval():Per Access的帮助文件,
您可以使用Eval功能 评估导致的表达式 文本字符串或数字值。
所以,如果你的功能解析为文字或数字,那么你就可以去了。
即Debug.Print Eval("Date()")
#2。我不认为 Run()的问题与实际函数本身有关,而是你如何应用它。我把一些快速代码汇总在一起。这有帮助吗?
Function AddOne(What As Integer) As Integer
AddOne = What + 1
End Function
Function x()
Dim WhichFunc As String
WhichFunc = "AddOne"
Dim What As Integer
What = 1
x = Run(WhichFunc, What)
End Function
(在立即窗口中使用debug.print x
调用此选项将为您提供2)
答案 1 :(得分:1)
尝试运行没有大括号的方法,例如:
Application.Run sFunctionName, sParam1