Windows-API: Betriebssystemfunktionen

VBA kann auf vielfältige Weise um zusätzliche Möglichkeiten erweitert werden. Nicht nur, wie an anderer Stelle gezeigt, mit Hilfe von Objektbibliotheken, sondern es können sogar Prozeduren des Betriebssystems eingebunden werden. Dabei kann es sich z. B. um Dialoge wie „Datei Öffnen“ handeln, oder um Informationen wie den angemeldeten Benutzernamen oder die Bildschirmauflösung. Dazu nutzt VBA die Windows-API (Application Programming Interface: Schnittstelle für die Anwendungsprogrammierung).

API-Programmierung ist eine fortgeschrittene Programmiertechnik, die Anfänger üblicherweise nicht benötigen und selbst fortgeschrittene User nur selten brauchen. Und statt nach API-Lösungen zu suchen, sollte man immer erst einmal prüfen, ob es nicht auch schon innerhalb von VBA bzw. Office dafür etwas gibt. So ist beispielsweise ein „Datei Öffnen“-Dialog seit Office 2010 schon in der Office-Objektbibliothek enthalten. API-Prozeduren werden also nur in den seltensten Fällen benötigt.

Dieses Kapitel besteht aus einer Einführung, die die Funktionsweise erklärt. Die Api-Referenz enthält dann einige kopierfertige Lösungen. Es gibt aber zahllose API-Prozeduren, sodass hier nur auf wenige eingegangen werden kann. Für zahlreiche andere kann man fertige Lösungen im Netz googeln - wobei man aufpassen muss, dass solche Beispiele nicht veraltet sind und unter einem 64-Bit-Office Fehler verursachen. Eine Aktualisierung solcher Beispiele sollte mit Hilfe dieser Einführung möglich sein.

Des Weiteren gibt es bei Microsoft eine Referenz, mit deren Hilfe sowie den hier gelieferten Informationen man auch andere API-Prozeduren für VBA umsetzen kann. Da die Prozeduren in der Programmiersprache C++ geschrieben sind, muss man zur Nutzung in VBA vor allem wissen, wie die Parameter zu übergeben sind. Auch das sollte mit der Einführung sowie dem Vergleich mit anderen fertigen Lösungen möglich sein. Dennoch ist Vorsicht geboten: Ein Programmierfehler kann leicht mindestens dazu führen, dass die Applikation abstürzt, und manche API-Aufrufe können das System sogar nachhaltig verändern oder gar unbrauchbar machen. Der Autor des Tutorials übernimmt keine Haftung.

Viele andere Softwarefirmen bieten für ihre Produkte übrigens ebenfalls API-Prozeduren an. Die Funktionsweise ist identisch, aber die Qualität der Dokumentationen ist sehr unterschiedlich.