【问题标题】:Run an Excel Macro from SSIS从 SSIS 运行 Excel 宏
【发布时间】:2013-11-18 17:37:17
【问题描述】:

所以我忙于制作 SSIS 包,我需要在 excel 文档中运行宏,我只是不知道 VB 或如何在脚本任务中编写代码。

我有一个名为 DATA.xlsm 之类的 Excel 文档,其中包含一个名为“Formatting”的宏

我只需要一个脚本任务,在 DATA.xlsm 中运行这个格式化宏,然后保存新的更新文档。

感谢任何帮助。

我看过其他关于此的帖子,但没有一个是真正有帮助的,或者看起来比我想做的更复杂。

【问题讨论】:

  • 意识到这种方法需要您为 Office 许可 SQL Server 框,因为代码 @kyleHale 使用 Office 程序集。这一决定还将使 Office 的生活更加复杂,需要比平时更多的修补程序,这可能会对服务器的正常运行时间产生负面影响

标签: vba excel ssis


【解决方案1】:

这是在 C# 中运行宏的基本骨架代码(您必须添加对 Microsoft.Office.Interop.Excel 的引用才能使其工作)

 Excel.Application xlApp = new Excel.Application();
 Excel.Workbook xlWorkBook = xlApp.Workbooks.Open("C:\\ExcelDirectory\\DATA.xlsm"); // absolute path needed
 xlApp.Run("Formatting"); // method overloads allow you to send it parameters, etc.
 xlWorkBook.Close(true); // first parameter is SaveChanges
 xlApp.Quit();

【讨论】:

  • 我尝试这样做,但我收到错误“方法 'Open'/'Run'/'Close' 没有重载需要 '1' 个参数
  • 这些方法有一些额外的参数,你可以为所有额外的参数添加 Type.Missing 。我认为您对脚本编写了解不多...?
  • 是的,我对脚本一无所知。从未做过脚本任务,也从未使用过 C#。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 2010-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多