Heute habe ich mir die Änderungen am Objekt „AddIn“ sowie das neue Objekt „AddIns2“ in Excel 2010 angeschaut. Das Objekt „AddIn“ wurde nur um die Eigenschaft „IsOpen“ erweitert, die es ermöglicht ein AddIn abzufragen, ob es geladen wurde oder nicht. Das neue Objekt „AddIns2“ listet im Gegensatz zu dem bereits in den früheren Versionen vorhandene Objekt „AddIns“ auch die Add-Ins auf, die nicht im Dialog zu den Add-Ins auftauchen. Folgender Screenshot demonstriert das an einem Beispiel. Zunächst habe ich mein Add-In „Test.xla“ manuell über den Dialog zum Öffnen von Dateien geöffnet.
Anschließend liefert ein einfacher Schleifendurchlauf über alle Add-Ins in den jeweiligen Auflistungen ein Element mehr beim „AddIns2“ Objekt. Das neue Objekt enthält folgende Methoden und Eigenschaften:
- Function Add(Filename As String, [CopyFile]) As AddIn
Diese Methode verhielt sich in meinen Tests genauso wie die entsprechende Funktion im Objekt „AddIns“ und lädt beispielsweise ein Addin von der Festplatte sowie fügt es der Liste der Add-Ins hinzu. - Property Application As Application
Diese schreibgeschützte Eigenschaft liefert ein Referenz zum Anwendungsobjekt; hier wäre das Microsoft Excel. - Property Count As Long
Diese schreibgeschütze Eigenschaft ermittelt die Anzahl der in der Auflistung enthaltenen Elemente. - Property Creator As XlCreator
Anhand dieser Eigenschaft lässt sich der „Creator Code“ bzw. Urhebercode ermitteln, der primär für Excel auf dem Macintosh gedacht ist. Hierzu muss man wissen, dass sich jede Anwendung auf einem Macintosh anhand eines Code sozusagen ausweisen muss. Wenn Sie den Wert „1480803660“ hexadezimal umwandeln, erhalten Sie „58 43 45 4C“. Dies wiederum in ASCII Zeichen dargestellt ergibt „XCEL“. - Property Item(Index) As AddIn
Diese Eigenschaft liefert eine Referenz auf das durch den Index angegebene Addin. Somit stehen auch die Eigenschaften und Methoden zur Verfügung, die im Objekt „AddIn“ zu finden sind, wie beispielsweise „Name“ für den Namen des Add-Ins oder „Path“ für den Pfad zur Datei. - Property Parent As Object
Diese Eigenschaft liefert eine Referenz auf das Mutterobjekt, hier also auch Microsoft Excel.
Abschließend möchte ich den englischen Artikel Migrating Excel 4 Macros to VBA im Microsoft Excel Blog als Lektüre empfehlen, wo ebenfalls kurz auf das neue Objekt eingegangen wird. Diesen Artikel habe ich ebenfalls in meinem Blog auf meiner Website publiziert