我使用vbext_ct_StdModule对象在vba中创建了一个模块。
Set oMod = VBE.Activ eVBProject.VBComponents.Add(vbext_ct_StdModule)
然后我使用AddFromString函数将一个过程添加到代码模块中。
oMod.CodeModule.AddFromString strVBScript
然后我尝试调用我刚刚创建的过程,但它不起作用。我已经尝试了call方法和application.run方法。
打破代码后,我便可以运行该过程。我想知道是否有人知道解决这个问题的方法?
答案 0 :(得分:0)
您需要先编译数据库,然后才能运行函数。
您可以尝试使用以下RunCommand
来编译数据库:
DoCmd.RunCommand acCmdCompileAndSaveAllModules
但是,要使其正常工作,必须在VBE中打开该模块。您可以使用DoCmd.OpenModule
将其打开,然后再将其关闭。