如何自动化MS Access应用程序

时间:2017-01-18 23:13:58

标签: ms-access automation open-source

是否有可用于自动化MS Acess应用程序的开源工具?如果是这样,我们如何有效地实现自动化?

任何人都可以给我这些工具的见解。

感谢。

1 个答案:

答案 0 :(得分:1)

在你的问题中不清楚你是否意味着“经典”的Windows自动化。

最常见(也是免费)的工具是使用Windows脚本(VBS脚本)。

因此,例如,如果要启动Access,请在标准模块中运行一些VBA代码,然后可以使用以下代码自动执行Access。

dim accessApp
set accessApp = createObject("Access.Application")

accessApp.OpenCurrentDataBase("C:\test\MultiSelect.accDB")

accessApp.Run "TimeUpDate"

accessApp.Quit

set accessApp = nothing

因此,上面将创建一个Access实例(作为标准的Windows COM或所谓的自动化对象),然后VBS在名为TimeUpdate的Access应用程序中的标准代码模块中运行VBA Sub。 TimeUpdate可以生成报告或任何您想要的报告。这将包括SQL更新,甚至生成日常使用的PDF报告等。最后一行关闭Access的运行副本。

另一个免费工具是使用Windows PowerShell,您可以再次像上面那样自动化访问。但是,PowerShell有点过分,从95开始的任何版本的Windows都内置了VBS脚本。

当然,虽然VBS是免费的,但它不是开源的。然而,你可以下载并安装一个免费的Windows开放版JavaScript,并且上述类型的自动化代码可以重新编码为JavaScript。只要该开源JavaScript脚本语言(或任何脚本语言)支持Windows自动化(COM对象),那么您应该没问题。

鉴于我们使用的是Windows平台,那么我认为对于自动化而言,免费的内置VBS脚本是最佳选择(它包含在每个Windows副本中)。 VBS语法非常类似于VBA,它是Access中的本机编码语言。

如果将上面的示例代码粘贴到记事本中,并将.txt扩展名重命名为.vbs - 您会看到图标发生变化,您可以双击该文件来运行上述Windows脚本文件。