Ich entwickelte ein SSIS-Paket, das Excel-Makros ausführte (VS2008, SQL Server 2008 und Windows Server 2008, wenn ich mich richtig erinnere - Server wurden außer Betrieb genommen). Das Paket wurde mithilfe von SQL Server 2016 und VS2015 nach Azure migriert.Laufendes Makro von ssis
Wir führen es jetzt zum ersten Mal seit über einem Jahr und es scheitert. Ursprünglicher Code zum Ausführen des Makros von SSIS wurde von hier Run an Excel Macro from SSIS übernommen.
Code:
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();
}
Fehler in Zeile 1 of Public void Main:
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)).
Interop Referenz wurde, obwohl manuell hinzugefügt, da die Installation (exe) von MS würde den Job nicht machen. Vielleicht sind die .dlls nicht gut? Bitte helfen und bedenken Sie, ich bin ein Neuling in diesem Bereich.