我不确定这是否可能,但似乎应该是可行的......毕竟现在是2013年!我发现一些论坛帖子表明可以做到,但我并没有成功使其运行...
我随后创建了以下VBScript来外部运行Access VBA宏:
我收到了一条信息:“非法函数调用,第4行”,这是一个步骤。
任何想法/帮助都非常感激!提前感谢!
我有一个Access 2010数据库,其中包含一个宏,从3个不同的网站下载文件,然后进行数据导入和处理。它需要运行1小时17分钟。
我想要安排这个宏在早上4点运行,以便在咖啡时间和8点工作开始之前全部完成...因此我创建了一个VBScript来运行它,然后将其放入任务计划程序中以达到预期时间。
这是一个单用户数据库,仅由我在我的电脑上使用。
我已经做了一些研究,但似乎不能让它正常工作。以下是我目前为止所拥有的内容:
Access 2010中“Pricing Model.accdb”中“Main”模块内的宏:
Public Sub Download_And_Import()
ProcStep = ""
ExecStep = 1
DoCmd.SetWarnings False
'Empty the Execution Progress table
DoCmd.RunSQL "DELETE * FROM EXECUTION_PROGRESS"
Call Update_EXECUTION_PROGRESS(Format(Now(), "YYYY/MM/DD HH:MM:SS"), ExecStep, "Starting Download_Files Main Procedure...")
Call Download_Files.Download_Files
Call Update_EXECUTION_PROGRESS(Format(Now(), "YYYY/MM/DD HH:MM:SS"), ExecStep, "Finished Download_Files Main Procedure...")
Call Update_EXECUTION_PROGRESS(Format(Now(), "YYYY/MM/DD HH:MM:SS"), ExecStep, "Starting Import_Files Main Procedure...")
Call Import_Files.Import_Files
Call Update_EXECUTION_PROGRESS(Format(Now(), "YYYY/MM/DD HH:MM:SS"), ExecStep, "Finished Import_Files Main Procedure, closing application now...")
DoCmd.SetWarnings True
End Sub
我随后创建了以下VBScript来外部运行Access VBA宏:
dim accessApp
set accessApp = createObject("Access.Application")
accessApp.OpenCurrentDataBase("G:\Pricing DB\Pricing Model.accdb")
accessApp.Run "Download_And_Import"
accessApp.Quit
set accessApp = nothing
我收到了一条信息:“非法函数调用,第4行”,这是一个步骤。
accessApp.Run "Download_And_Import"
任何想法/帮助都非常感激!提前感谢!
M
ProcStep
和ProcExec
之后,代码对我来说很好用。将应用程序可见化 (accessApp.Visible = True
),这样您就可以使用宏编辑器进行调试。 - Ansgar WiechersaccessApp.Run ("Download_And_Import")
。 - UberNubIsTrueapplication.run
时,这曾经给我带来了错误。 - UberNubIsTrue.DoCmd.RunMacro("宏名称")
来解决它。 - user2792171