ich habe ein Workbook namens »module.xls«. Es enthält eine Sammlung verschiedener Module und Klassenmodule die ich in unterschiedlichen Projekten einsetze. Zum Beispiel lade ich im Workbook »projekt.xls« das Workbook »module.xls« mit
Workbooks.open(PfadZumModul & "module.xls")
Von »projekt.xls« kann ich jetzt auch problemlos auf die Subs und Functions in den normalen Modulen von »module.xls« zugreifen, z.B. so:Ergebnis = Run("module.xls!IrgendeineFunction", Argument1, Argument2)
Wie aber instanziere ich in »projekte.xls« eine Class in einem Klassenmodul von »module.xls«? Folgendes habe ich ausprobiert, aber es funktioniert nicht.Dim MeinObject as Object
Set MeinObject = New Run("module.xls!EineClass")
Da meckert der Compiler bereits bei der Eingabe und erwartet das Anweisungsende.
Dim MeinObject as Object
Set MeinObject = CreateObject("module.xls!EineClass")
Hier erhalte ich den Laufzeitfehler 429: Objekterstellung durch ActiveX-Komponente nicht möglich. Soweit ich es verstehe, müsste ich für diese Version erst die Registry bemühen, was ich allerdings nicht möchte.
Es ist in beiden Fällen übrigens egal, ob ich nur »module.xls« schreibe oder noch den Pfad davor setze. Aus »module.xls« möchte ich auch nicht unbedingt ein Add-In machen, wobei mein Problem dort dann wahrscheinlich auch auftreten würde.
Leider finde ich dazu nichts im Internet, aber vielleicht kann mir hier jemand helfen.