Reguläre Ausdrücke in VBA: Die neue RegExp-Klasse

Seit Office Version 2508 sind reguläre Ausdrücke direkt in die VBA-Objektbibliothek integriert. Damit entfällt der bisherige Umweg über einen externen Verweis auf die VBScript-Bibliothek. Dieser Artikel erklärt die Hintergründe dieser Änderung, stellt alle Klassen und ihre Mitglieder vor und zeigt anhand zahlreicher Beispiele, wie Du reguläre Ausdrücke in Deinen VBA-Projekten einsetzen kannst.

Weiterlesen

PLZ-Lookup per Rest-API

Im Grundlagenartikel zu Rest-APIs haben wir gezeigt, wie das Konzept funktioniert und wie eine wiederverwendbare HTTPRequest-Funktion aussieht. Jetzt setzen wir das Gelernte das erste Mal gegen eine echte API ein: Wir fragen zu einer deutschen Postleitzahl den zugehörigen Ort und die Koordinaten ab – ohne Anmeldung, ohne API-Key und vollkommen kostenlos. Nebenbei lernen wir, wie wir die JSON-Antwort mit wenigen Handgriffen auslesen.

Weiterlesen

SQL Server-Verbindungen per Backstage verwalten

Wer in Access mit verknüpften SQL Server-Tabellen arbeitet, kennt das Problem: Die Verbindungszeichenfolge muss korrekt zusammengesetzt sein, Treiber und Authentifizierungsart müssen stimmen – und bei jeder neuen Datenbank fängt man von vorn an. Dieser Artikel zeigt, wie Du einen eigenen Tab im Backstage-Bereich von Access einrichtest, der Dir das Zusammenbauen der Verbindungszeichenfolge abnimmt.

Weiterlesen

Rest-APIs mit VBA programmieren

Wer mit VBA arbeitet, kommt heute kaum noch daran vorbei: Fast jeder interessante Online-Dienst – von Wetter- und Geo-Daten über Projektmanagement-Tools bis hin zu KI-Diensten – bietet eine Rest-API an. Dabei ist das Prinzip immer dasselbe: Du schickst eine HTTP-Anfrage an eine bestimmte URL, und der Dienst antwortet mit strukturierten Daten – in der Regel im JSON-Format. Ob Du Kundenadressen mit einem CRM abgleichen, Versandetiketten bei DHL anfordern, Aufgaben in Trello anlegen oder Texte mit DeepL übersetzen willst – hinter all diesen Integrationen steckt dieselbe Technik. VBA bringt dafür alle nötigen Werkzeuge von Haus aus mit: Ein einziger Verweis auf eine Windows-Systembibliothek genügt, um HTTP-Anfragen abzusetzen und die Antworten auszuwerten. Dieser Artikel erklärt, was eine Rest-API überhaupt ist, welche Grundbegriffe Du kennen musst, um jede beliebige API-Dokumentation selbstständig zu lesen, und wie Du eine wiederverwendbare Funktion baust, die Du als solide Basis für jeden weiteren API-Aufruf einsetzen kannst.

Weiterlesen

Eigene Icons in Ribbon und Backstage anzeigen

Durch Anpassung des Ribbons oder des Backstage-Bereichs kann man seinen Anwendungen praktische Elemente zum Aufrufen von Funktionen, Formularen oder Berichten hinzufügen. Noch individueller werden benutzerdefinierte Ribbons und der Backstage-Bereich, wenn man den Steuerelementen auch noch eigene Icons hinzufügt. Das ist jedoch mit Bordmitteln nicht so einfach möglich. Früher hat man diese Aufgabe unter Verwendung zahlreicher API-Funktionen aus der GDI-Bibliothek erledigt. Mittlerweile haben wir wesentlich einfachere Routinen dafür entwickelt. In diesem Artikel stellen wir diese vor und zeigen, wie Du Ribbon- und Backstage-Steuerelemente einfach mit solchen Icons ausstatten kannst.

Weiterlesen

Textdateien und Stream mit dem FileSystemObject

Im Artikel Dateimanagement mit dem FileSystemObject (www.vbentwickler.de/478) haben wir die Klasse FileSystemObject kennengelernt und damit Laufwerke, Verzeichnisse und Dateien verwaltet. Dabei haben wir drei Methoden und Funktionen erwähnt, die wir in einem separaten Artikel behandeln wollten: CreateTextFile, OpenTextFile und OpenAsTextStream. Diese drei Elemente sind das Tor zur Klasse TextStream, mit der wir Textdateien erstellen, beschreiben und auslesen können. In diesem Artikel schauen wir uns zuerst an, wie wir TextStream-Objekte erzeugen, und gehen dann alle Eigenschaften und Methoden der Klasse durch. Abschließend bauen wir ein praxisnahes Beispiel, in dem wir eine CSV-Datei erzeugen und wieder einlesen.

Weiterlesen

Backstage-Bereich von Access erweitern, Teil 1

Klickt man in Access auf den Registerreiter Datei, öffnet sich der sogenannte Backstage-Bereich. Hier findet man Befehle wie Speichern, Drucken oder Optionen sowie verschiedene Informationsbereiche. Was viele nicht wissen: Dieser Bereich lässt sich per XML-Definition umfangreich anpassen. Wir können eigene Befehle und Registerkarten hinzufügen, eingebaute Bereiche ausblenden und sogar vollständige Optionsseiten mit Textfeldern, Kontrollkästchen und Auswahllisten gestalten. In diesem Artikel zeigen wir Schritt für Schritt, wie das in Access funktioniert – direkt über die Systemtabelle USysRibbons und VBA-Callback-Prozeduren.

Weiterlesen

SQL Server-Migration: Anpassen des VBA-Codes

Wenn Du Deine Datenbank zum SQL Server migriert hast, also alle Tabellen in einer SQL Server-Datenbank liegen und mit dem Frontend verknüpft sind, kannst Du ohne Probleme über die Tabellenverknüpfungen auf die Tabellen im SQL Server zugreifen. Wenn Du jedoch per VBA, speziell mit den Methoden OpenRecordset und Execute, auf diese Tabellen zugreifen möchtest, kann es zu Fehlermeldungen kommen. In diesem Artikel erläutern wir, welche Fehler dies sind, warum sie auftreten und wie Du Deine Datenzugriffe auf die Tabellen der SQL Server-Datenbank so anpasst, dass sie fehlerfrei laufen. Außerdem schauen wir uns eine Besonderheit an, die beim Anlegen neuer Datensätze mit der AddNew-Methode des Recordset-Objekts auftritt – und schließlich gibt es noch eine Besonderheit bei Formularen, die wir ebenfalls berücksichtigen.

Weiterlesen

Timer ohne Formular mit VBA programmieren

Unter Access kennt man eigentlich nur den Timer, den das Formular-Objekt mitbringt. Damit können wir ein Ereignis definieren, das in einem bestimmten Zeitintervall ausgelöst wird. Was aber, wenn wir einen Timer einmal außerhalb des Kontexts eines Formulars benötigen? Dann erstellen wir uns einfach eine eigene Timer-Klasse. Dazu sind zwar ein paar Tricks und API-Funktionen nötig, aber das soll kein Hindernis sein. Deshalb zeigen wir in diesem Beitrag im Detail, wie das gelingt und wie sich dieser Timer in der Praxis einsetzen lässt. Und im Gegensatz zum Formulartimer haben wir noch einen Vorteil: Wir können nämlich nicht nur einen, sondern beliebig viele Timer einsetzen und laufen lassen.

Weiterlesen

Access und SQL Server-FileTables

Im Artikel ” Access und SQL Server-FileTables” (www.vbentwickler.de/489) haben wir gezeigt, wie man einer SQL Server-Datenbank eine sogenannte FileTable-Tabelle hinzufügt, in der man Dateien speichern kann, die gleichzeitig in einem vom SQL Server verwalteten Verzeichnis liegen. Im vorliegenden Artikel kommt nun Microsoft Access als Frontend ins Spiel, mit dem wir nicht nur die Dateien in der FileTable-Tabelle im SQL Server verwalten wollen, sondern wir möchten diese am Beispiel von Bilddateien auch in Access-Formularen anzeigen. Letzteres ist leicht realisierbar, denn wir können dem Bild-Steuerelement einfach den Pfad zu der jeweiligen Datei in dem von SQL Server verwalteten Bereich des Dateisystems zuweisen. Etwas aufwendiger ist es, erst einmal über Access an diese Daten in der FileTable-Tabelle zu gelangen. Wie dies gelingt und wie wir die darin gespeicherten Dateien letztlich verwalten können, zeigen wir auf den folgenden Seiten.

Weiterlesen