Ms access MS Access-can';t从RunMacro运行模块中的SUB

Ms access MS Access-can';t从RunMacro运行模块中的SUB,ms-access,vba,Ms Access,Vba,我的Access 2013数据库中有几个模块,包括公共子模块和函数。但是,它们不会显示在“运行宏”列表中,如果使用RunMacro或RunCode命令生成宏,则无法调用它们。我有允许所有宏的安全设置 除了将函数/子函数声明为public以在VBA窗口外运行外,还有其他步骤吗?您是否尝试过宏?要在宏中运行public VBA子函数,您应该使用RunCode操作,而不是RunMacro是否在名称末尾包含“()”?如果没有,请尝试添加…是的,我尝试过使用括号和不使用括号,并尝试在前面添加模块名称。您尝

我的Access 2013数据库中有几个模块,包括公共子模块和函数。但是,它们不会显示在“运行宏”列表中,如果使用RunMacro或RunCode命令生成宏,则无法调用它们。我有允许所有宏的安全设置


除了将函数/子函数声明为public以在VBA窗口外运行外,还有其他步骤吗?

您是否尝试过宏?

要在宏中运行public VBA子函数,您应该使用
RunCode
操作,而不是
RunMacro

是否在名称末尾包含“()”?如果没有,请尝试添加…是的,我尝试过使用括号和不使用括号,并尝试在前面添加模块名称。您尝试过运行宏命令吗?只是为了让我明白这一点。。。问题是(a)无法运行函数/子程序,还是(b)在生成宏时无法看到函数/子程序列表?我同意下面的两张海报,即您需要使用“运行码”操作。如果我构建宏,使用运行码作为操作,并手动键入“GetNetworkUserName()”,它将执行该函数。如果问题是您不确定它是否运行,则向函数中添加一个消息框或debug.print,然后运行宏。问题是(a)-它不运行,但也没有作为选项提供。我在下面评论说,它不在RunMacro或RunCode中运行,因此我将更新该问题,以表明.RunCode和RunMacro都会给我相同的错误。它在我的模块中找不到任何公用子模块。@kainC您试过这个吗?谢谢majjam,这正是我需要的。它必须用运行码指定,并且只能调用函数,不能调用子函数。这是违反直觉的,因为运行码无论如何都不会处理返回值