我在Windows服务器上运行自动数据作业,每天输出一个SAS数据集。最重要的是,我通过Excel的本地数据提供程序连接了Excel报告。
我的问题是,数据连接需要由安装在其PC上的SAS手动刷新。我曾尝试编写一段SAS代码,在服务器上打开Excel文件,然后在关闭和保存之前触发一段进行刷新的VBA。如果我登录到服务器,这非常有效。但是,如果没有人登录,它似乎没有用。我相信这与活跃的用户会话有关。
更新
我用来连接Excel的本地数据源的过程如下所示:
有没有办法做这样的事情?
答案 0 :(得分:2)
如果要在无人值守的情况下运行Excel,因此没有登录交互式用户,可以使用Windows服务执行此操作。您必须确保Excel的某些设置,以及启动Excel的重要性。
请注意Microsoft不支持,甚至建议您执行此类操作。 Excel是一个客户端软件,它与一个易于维护运行的软件正好相反。阅读这篇关于该主题的优秀文章Considerations for server-side Automation of Office。即使有点老(谈论Office 2003),它仍然是最先进的。
请考虑以下条件:
这样做,Excel应该可以正常启动并更新与VBA的数据连接。