在Application.Run(或equiv)中使用命名参数

时间:2013-05-06 13:08:06

标签: vba eval access-vba

我正在尝试通过字符串(来自表单的用户输入)将参数传递给VBA函数

以下代码在完成运行函数a

后抛出运行时错误2517(Access无法找到过程'。')
Public Function a(Optional al As Boolean, Optional bl As Boolean)
    Debug.Print al
End Function

Public Sub b()
    Application.Run a, "bl:=false, al:=false"
End Sub

函数的正确语法是Application.Run "a", "false", "false",但这种方法无法处理命名参数(这对我来说是必须的)

我尝试使用eval()函数,但无法解析命名参数。

有关运行时错误或我可以将带有命名参数的字符串(如上所述)传递给VBA函数的任何建议吗?

1 个答案:

答案 0 :(得分:0)

A是一个函数,函数返回结果 尝试 让它成为一个程序,然后调用它 忘记使用application.run