从SSIS或任务计划程序运行Excel宏,服务器上未安装办公室

时间:2017-02-17 21:43:33

标签: excel excel-vba ssis ms-office vba

我有一个excel,有几个支点和摘要表。 excel有一个宏,它可以刷新所有枢轴并将邮件摘要表的内容发送给某些组。

我希望自动化我们可以每天调用此宏的过程。

我可以从任务计划程序或SSIS(未安装Office的服务器上)调用此宏吗?

1 个答案:

答案 0 :(得分:0)

没有。没有安装Office的服务器无法运行excel宏。

即使你安装了办公室,这也是一个坏主意。您可以安装office,然后使用带有.NET脚本任务的SSIS包导入Micrososft.Office.Interop.Excel二进制文件,然后使用Run()方法执行宏。但是请....

不要这样做

Microsoft heavily discourages this

  

Microsoft目前不建议也不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office可能会出现不稳定Office在此环境中运行时的行为和/或死锁。

这里最好的选择是重新设计宏。将其翻译成另一种语言。它想做什么?这可以通过导入Excel数据并在SSIS中使用PIVOT,UNPIVOT和Send Mail任务来实现吗?试试那些。如果这不起作用,请查看利用EPPLus codeplex project在服务器上执行繁重工作的脚本任务。 EPPlus的运行速度比Interop.Excel快得多。

祝你好运!