Hallo in das Forum,
ich habe einen VBA Code in einer Excel programmiert. Mithilfe des VBA-Moduls werden verschiedene Rechnungen innerhalb der Excel-Datei ausgeführt. Darüber hinaus werden von einer URL-Daten eingelesen. Dafür werden folgende Objekte im Code definiert.
Dim objXML As Object
Dim xmlNode As Object
Set objXML = CreateObject("MSXML2.DOMDocument")
In dem Programm sind folgende Objekt-Bibliotheken aktiv:
-
Visual Basic For Applications
-
Microsoft Excel 15.0 Objekt Libary
-
OLE Auotmation
-
Mircorsoft Office 16.0 Object Libary
-
Mircorsoft Forms 2.0. Object Libary
Nun habe ich das Problem, dass die Excel auf Computern mit verschiedenen Office Versionen verwendet wird. Dabei mach mir die Micrsof-Office 16.0 Object Libary nun immer Probleme, wenn die Datei von einem PC mit einer älteren Excel bzw. Office Version geöffnet wird, da sie dort nciht vorhanden ist. Wenn ich manuell die 16.0 Libary deaktiviere und die vorhandene klienere Version (in diesem Fall Office 15.0 Libary) aktiviere, kann der Code problemlos ausgeführt werden. Da bei jedem Speichern der Datei auf einem PC mit der höheren Version automatisch die Libary wieder auf die höhere Version hochgesetzt wird, muss also jedes Mal manuell die Libary deaktiviert und die niedrigere aktiviert werden.
Ich habe nun schon über Google herausgefunden, dass im Code Late Binding anstelle von Early Binding verwendet werden muss, damit das Upgrade auf die neue Version umgangen werden kann. Ich muss mich hierzu allerdings erst noch schlau machen.
Ich frage mich nur zunächst, wie ich herausfinden kann, an welcher Stelle im Code auf welche Bibiliothek zugegriffen wird.
Ich würde nun einfach vermuten, dass die kritische Stelle, an der auf die Microsoft Office Objekt-Bibiliothek zugegriffen wird bei dem Abruf der Daten aus der URL ist. Gibt es eine Möglichkeit zu prüfen, wann auf eine Bibliothekt zugegriffen wird?
Viele Grüße
Tanja
|