2017-10-10 4 views
0

J'ai développé un package SSIS qui exécutait des macros Excel (VS2008, SQL Server 2008 et Windows Server 2008 si je me souviens bien - les serveurs ont été mis hors service). Le package a été migré vers Azure à l'aide de SQL Server 2016 et VS2015.Macro en cours d'exécution de ssis

Nous l'utilisons maintenant pour la première fois depuis plus d'un an et ça ne fonctionne pas. Le code original pour l'exécution de la macro à partir de SSIS a été pris ici Run an Excel Macro from SSIS.

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(); 
} 

Erreur sur la ligne 1 du public void principal:

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)).

référence Interop a été ajouté bien manuellement, car l'installation (exe) à partir de MS ne serait pas faire le travail. Peut-être que le fichier .dll ne sont pas bons? S'il vous plaît aider et garder à l'esprit que je suis un novice dans ce domaine.

Répondre

0

Problème résolu !! Le problème est, comme d'autres l'ont indiqué dans d'autres articles, j'ai besoin d'Office installé. Interop seul n'exécutera pas de macros ou n'interagira pas avec les produits Office.