2016-02-05 203 views
3

我一直在使用ADO处理许多Excel .xls和.xlsx工作簿,没有任何问题。最近我尝试处理一个.xlsm工作簿以加载到Access数据库。该工作簿包含几个宏,每次用户打开桌面版Excel时都会运行该宏。宏使用“今日”数据更新“昨日”数据。不幸的是,当我以编程方式阅读工作簿时,ADO正在返回“昨天”数据。这对我来说意味着当我用ADO打开工作簿时,这些宏未运行。有什么建议么。希望我不需要重写代码来打开Excel的实例来处理工作簿。使用ADO打开包含宏(.xlsm)并使宏运行的Excel工作簿

回答

1

ADO仅访问保存在工作簿中的数据。在Excel中打开工作簿时,没有任何vba(或任何其他)代码可以动态执行。 Excel宏只能在应用程序界面中打开工作簿时运行。

要么你的进程需要复制宏正在做什么来更新工作表数据,要么确实需要先在Excel环境中打开工作簿并执行宏,然后保存对工作簿的更改。

+0

辛迪,谢谢!我怀疑这将是答案,但我需要验证它。 – Joe

相关问题