簡體   English   中英

通過在SSIS中運行excel VBA宏來自動執行流程

[英]Automate process by running excel VBA macro in SSIS

最近,我有一個項目需要通過將SSIS包和excel VBA宏組合成一個來自動化流程。 以下是步驟:

  1. 我有一個SSIS包將所有視圖結果導出到從sql server到excel的多個單獨文件。 所有文件都保存在同一位置。

  2. 我有一個excel VBA宏執行清理刪除每個導出的Excel文件中的所有空表。

  3. 我還有一個excel VBA宏執行合並任務,將所有excel文件合並到主excel文件中。 此主Excel文件包含所有結果集,並且相應地保存在不同選項卡上的每個結果集。

由於我手動運行第2步和第3步,所以我的問題是如何將步驟2和步驟3與步驟1連接起來將它們組合為一個自動化過程。

請告訴我有關實現這一目標的可能性! 非常感謝。

執行此操作的方法是在SSIS包中創建腳本任務。

然后,一旦進入腳本任務,就可以通過腳本任務的C#代碼調用Excel互操作。 例如,您可以添加對Microsoft.Office.Interop的引用。 在腳本任務的C#代碼中使用該庫后,可以添加一些將調用宏的代碼。 例如

oExcel = CreateObject("Excel.Application")
oExcel.Visible = False
oBooks = oExcel.Workbooks
oBook = oBooks.Open(Dts.Variables("filePath").Value.ToString())
//Your macro here:
oExcel.Run("Yourmacro")

然后,您可以為其他工作簿編寫代碼,無論您在此之后需要什么樣的自動化 - 例如,您可以根據需要通過Excel自動化關閉工作簿並打開另一個工作簿。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM