Das Application-Objekt

Ein zentrales Element, das über die Objektbibliothek einer Applikation zur Verfügung gestellt wird, ist das Application-Objekt. Dies ist ein Dreh- und Angelpunkt für die Zugriffe auf unsere Applikation. Zum Beispiel hat das Application-Objekt eine Name-Eigenschaft:

Debug.Print Application.Name

Natürlich ist der Rückgabetext von Application.Name je nach Applikation unterschiedlich.

Ein Application-Objekt hat zahlreiche Eigenschaften, Methoden und vor allem Unterobjekte. Was man üblicherweise über die Oberfläche des Programms macht, kann man auch über das Application-Objekt steuern. Vom Application-Objekt aus kann man sich sogar in einer Anwendung, die man nicht so gut kennt, durch deren Unterobjekte „durchhangeln“. Natürlich unterscheiden sich je nach Applikation die Unterobjekte sowie deren Eigenschaften und Methoden, denn auch die jeweiligen Applikationen sind ja ganz unterschiedlich. Wollen wir z. B. wissen, wie die erste geöffnete Datei der Applikation heißt, müssen wir in den allermeisten Programmen zuerst in der Auflistung der Dateien das richtige Unterobjekt finden, und dessen Name-Eigenschaft aufrufen:

ExcelDebug.Print Application.Workbooks(1).Name
PowerPoint Debug.Print Application.Presentations(1).Name
ProjectDebug.Print Application.Projects(1).Name
PublisherDebug.Print Application.Documents(1).Name
VisioDebug.Print Application.Documents(1).Name
WordDebug.Print Application.Documents(1).Name

Wie man sieht, ähnelt sich die jeweilige Vorgehensweise. So kann man in Excel den Namen des zweiten Arbeitsblatts in der ersten geöffneten Datei wie folgt erfahren:

Debug.Print Application.Workbooks(1).Worksheets(2).Name
Tabelle2

Vergleicht man die Applikationen, erlebt man manchmal erstaunliche Unterschiede in ihrem Verhalten:

Da man sich üblicherweise allerdings doch nur in einer einzigen Applikation bewegt, wird man mit deren Eigenheiten schnell vertraut und betrachtet dann deren Verhalten sogar als Normal.

Wichtig ist, sich im jeweiligen Objektmodell zurechtzufinden. Jede Applikation besitzt seine eigene, mehr oder weniger umfangreiche und komplexe Objekthierarchie, die sich außerdem noch von Version zu Version leicht unterscheidet. Hier hilft nur ein Blick in die Hilfe Hilfe in VBA, die man mit F1 aufruft. Dort öffnet man das Inhaltsverzeichnis Inhaltsverzeichnis und wählt Entwicklerreferenz bzw. Objektmodellreferenz des jeweiligen Programms aus (Die Begriffe sind nicht ganz einheitlich). Die Programme von Microsoft Office enthalten zudem jeweils zwei Objektmodellreferenzen: Einmal die Objektreferenz der jeweiligen Applikation und einmal die Office-Objektreferenz. Anstelle der Hilfe kann man auch bei microsoft.com die Onlinereferenz nutzen.