不确定这是否可行,但似乎应该可行....毕竟是 2013 年!我发现一些论坛帖子表明它是,但我没有成功让它工作......
我有一个带有宏的 Access 2010 db,它从 3 个不同的网站下载文件,然后继续导入数据并处理它。它运行1小时17分钟。
我想安排这个宏在凌晨 4 点运行,所以它在咖啡时间和早上 8 点开始工作时全部完成和除尘......所以我创建了一个 VBScript 来运行它,然后将其放入任务计划程序中所需的时间。
它是一个单用户数据库,我只在我的 PC 上使用。
我已经做了一些研究,但我似乎无法让它发挥作用。这是我到目前为止所拥有的:
Access 2010 中“Pricing Model.accdb”中“主”模块中的宏:
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"
任何想法/帮助都非常感谢!提前致谢!
米