我有一个Windows服务,运行Excel Interop
以自动执行各种宏。然而,当我尝试运行一个使用Windows身份验证访问数据库的宏时,遇到了一个奇怪的问题...
如果通过Windows服务运行宏,则工作簿会打开并启动宏执行,但应用程序会挂起(可能在数据访问部分)。
但是,如果通过Visual Studio调试器运行宏,使用与服务相同的实现(它们调用相同的类库),则它会执行,保存工作簿,并按预期关闭。
我确定这与模拟有关,但我似乎无法弄清楚。我已经将Windows服务运行在我的用户下,并且还修改了组件服务中的默认COM属性,以将其从默认的Identify
更改为Impersonate
。
如果能够作为Windows服务而不是控制台应用程序运行,则将非常感激任何帮助。