APIs

Aus VBA-wiki
Zur Navigation springen Zur Suche springen

APIs?!?

Application Programming Interfaces (kurz: APIs) dienen dazu, Aufgaben zu lösen, welche nicht oder nur unzureichend von VBA (bzw. den Office-Anwendungen) gelöst werden können.

Ein Beispiel:

Mithilfe von VBA können wir feststellen, ob eine Datei existiert:

If Dir(strFullName) = "" Then Exit Sub

Mithilfe von VBA und den Anwendungs-Objekten können wir ermitteln, wann eine in der Anwendung geöffnete Datei erstellt wurde (Beispiel aus PowerPoint):

Debug.Print ActivePresentation.BuiltInDocumentProperties.Item("Creation date")

Wenn wir jedoch ermitteln sollen, welche Datei in einem Verzeichnis die älteste ist, wird uns dies nur dann möglich, wenn wir die Dateien einzeln öffnen (vorausgesetzt es handelt sich zum Beispiel bei PowerPoint um Präsentationen, bei Excel um Arbeitsmappen usw.) und dann die Eigenschaft prüfen. Oder wir verwenden eine vom Betriebssystem zur Verfügung gestellte API, welche für jede beliebige Datei die geforderten Informationen ermitteln kann.

Benötigte API finden

Um einen brauchbaren Ansatz für die gesuchte Aufgabe zu finden, empfehle ich die Suche im Internet.

Wichtig: Stellen Sie dazu der gesuchten Anfrage die Worte 'Windows API VB' voran, um die Treffer gut einzugrenzen (VBA liefert leider oftmals keine guten Ergebnisse):

  • Die Suche nach 'windows api vb datei erstelldatum' ergab mehrere Treffer auf der Seite vb@rchiv
  • Der erste Treffer verspricht 'Alle Datumsangaben einer Datei ermitteln'
    • Aufgepasst: Das vb@rchiv verfügt auch über Lösungen für VisualBasic, VB.NET und weitere Sprachen. VisualBasic enthielt teilweise Befehle für die Anwendungsentwicklung, welche VBA nicht enthält und VB.NET sieht auf den ersten Blick VBA sehr ähnlich, verfügt jedoch über ein völlig anderes Objektmodell, wodurch spezifische Lösungen mit Sicherheit inkompatibel sind.

Struktur eines API-Aufrufes