2017-10-10 14 views
0

Excelマクロ(VS2008、SQL Server 2008およびWindows Server 2008を正しく覚えていれば - サーバーは廃止されました)を実行するSSISパッケージを開発しました。パッケージは、SQL Server 2016およびVS2015を使用してAzureに移行されました。ssisからマクロを実行しています

私たちは現在、これを1年以上で初めて実行しており、失敗しています。 SSISからマクロを実行するためのオリジナルコードは、ここからRun an Excel Macro from SSISから取得しました。

コード:公共のボイドメインの1行目に

using System; 
using System.Data; 
using System.Diagnostics; 
using System.IO; 
using System.IO.Compression; 
using System.Windows.Forms; 
using System.Runtime.InteropServices; 
using Microsoft.Office.Interop; 
using Excel = Microsoft.Office.Interop.Excel; 

public void Main() 
{ 
    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(); 
} 

エラー:MSから(exeファイル)をインストールするには仕事をしないため

Additional information: Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

相互運用機能の参照を手動が追加されました。たぶん.dllはうまくないのでしょうか?助けてください、私はこの分野の初心者です。

答えて

0

問題が解決しました。問題は、他の投稿に記載されているように、Officeがインストールされている必要があります。 Interop自体でマクロを実行したり、Office製品と対話したりすることはありません。

関連する問題