Kann eine Funktion in einem Excel-ComAddIn von einem VB Script aufgerufen werden?
Neben der Möglichkeit das AddIn direkt in Excel über einen Button aufzurufen, möchte ich in einem Script eine Datei einer AddIn-Funktion übergeben, welche ein fremdes Dateiformat in ein Excelformat umwandelt und danach Excel öffnet.
Hier der genaue Hintergrund für meine Frage:
Bis jetzt wurde für einen Kunden ein Excel-Makro verwendet um MSCONS-Dateien(ist ein Ableger von EDIFACT zur Darstellung von Strommesswerten), welche in einem eigenen Format vorliegt in ein lesbares Excelformat umzuwandeln.
Zusätzlich gibt es die Möglichkeit, wenn der Benutzer auf die MSCONS-Datei im Explorer doppelklickt , dass Excel automatisch geöffnet wird und die Datei automatisch umgewandelt wird.
Das wird damit erreicht, das man in der Registry den Dateityp mit der Endung edi bekannt gibt. Zusätzlich muss man in der Registry definieren, welches Kommando verwendet wird, um die Datei zu öffnen.
Dieses Kommando steht in der Registry an folgender Stelle:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\edifile\shell\edit\command
Als Kommando wurde ein VBS (VB-Script) definiert, welches wie folgt aussieht:
Set objArgs = WScript.Arguments
Set Excel = CreateObject("Excel.Application")
Excel.Visible = True
'Excel.Interactive = True
Excel.Workbooks.Open "C:\Programme\Firma\Produkt\MSCONSConverterA.xla"
'Set Excel = GetObject("C:\Programme\Firma\Produkt\MSCONSConverterA.xla")
Excel.Run "ExcelAuswertung", objArgs(0)
Excel.ScreenUpdating = True
Set Excel = Nothing
Mit Excel.Run wird die Umwandlung gestartet, wobei ExcelAuswertung eine Makrofunktion ist und objArgs(0) ist der Dateiname mit Pfad.
Nun zu meiner eigentlichen Frage:
Die Funktionalität wurde aus verschiedenen Gründen in ein Excel-ComAddIn verlegt.
Was muss ich tun, damit von einem VBS dieses Funkion aus dem AddIn aufrufen kann?
Die Funktionalität des alten Makros wurde im wesentlich in ein Modul des COM-AddIns geschoben und Workbook und Worksheet Variablen über das Connectobjekt gestzt.
Vielen Dank für die Hilfe!
P.S.:Ich hoffe, die Frage ist nicht unklar und zu lange,aber das Thema ist nicht einfach für mich.