我正在尝试使用Windows任务计划程序自动打开excel工作簿,并且在打开后,它应该刷新SAS存储过程。
Excel中用于刷新存储过程的VBA是:
Sub RefreshSAS()
将sas视作对象
设置sas = Application.COMAddIns.Item(“ SAS.ExcelAddIn”)。Object
sas.Refresh ThisWorkbook
结束子
然后将这段代码放在VBA的ThisWorkbook中:
Sub Workbook_Open()
RefreshSAS
结束子
我相信我已经加载了所有必要的加载项。当我手动打开文件时,它运行得非常好,您可以在顶部菜单栏(“主页”,“插入”,“页面布局”,“开发人员”等旁边)中的excel中看到“ SAS”选项卡。但是,当我使用Windows Task Scheduler打开它时,它无法运行并显示以下VBA错误: enter image description here
出现此错误时,菜单栏上没有“ SAS”选项卡。如果在VBA错误上单击“结束”或“调试”,几秒钟后,将显示“ SAS”选项卡。 因此,在我看来,Task Scheduler打开excel工作簿并尝试刷新时未加载SAS加载项,并且在单击“结束”或“调试”后它开始加载。 再一次,当我手动打开文件时,它按预期工作正常。仅当我使用任务计划程序时,才会发生此问题。任何人有任何想法或建议吗?我非常感谢您的帮助。谢谢!!!
答案 0 :(得分:1)
或者-通过使用Excel将STP作为Web查询调用来完全避免使用插件/插件。附加的优点是它可以在任何版本的Excel上运行。这在Task Scheduler上下文中应该可以正常工作。您需要将STP设置为流输出。
您的VBA看起来像这样:
您可以在我的博客文章here
中找到更多信息。