ADODB: SQL-Befehle schnell ausführen mit Execute

ADODB bietet verschiedene Techniken, um SQL-Befehle zum Abfragen oder Ändern von Daten auszuführen. Die bekannteste zum Abfragen von Daten dürfte die OpenRecordset-Methode sein. Für das Ausführen von Anweisungen kann man für vollen Komfort am besten die Command-Klasse mit der Execute-Methode verwenden. Aber auch die Connection-Klasse bietet bereite eine Execute-Methode an. Mit dieser lässt sich schnell und flexibel Einiges erledigen. Welche Möglichkeiten sie bietet und wie wir diese für den Datenzugriff nutzen können, zeigen wir in diesem Artikel.

Weiterlesen

ADODB: Connections und Connectionstrings

Wer auf die Inhalte von Datenbanken wie Access, SQL Server und anderen zugreifen möchte, benötigt eine spezielle Datenzugriffstechnologie. Unter VB6, VBA und twinBASIC verwendet man dazu in der Regel die DAO-Bibliothek, in Office “Microsoft Office 16.0 Access database engine Object Library” genannt, oder die ADODB-Bibliothek (“Microsoft ActiveX Data Objects 6.1 Library”). Geschichtlich wurde mal die eine, mal die andere von Microsoft als die zu bevorzugende Datenzugriffstechnik bezeichnet. Derzeit verwendet man meist DAO, vor allem in Verbindung mit Access-Datenbanken, aber beim Zugriff auf SQL Server-Datenbanken bietet ADODB einige Features, die wir mit DAO nicht nutzen können. In diesem Artikel steigen wir in die Programmierung von Datenbankzugriffen mit ADODB ein. Dabei schauen wir uns als Erstes die Connection-Klasse an, mit der erst einmal eine Verbindung zur Datenbank aufgebaut werden kann.

Weiterlesen

Trello per Rest-API steuern

Trello ist eines der bekanntesten Projektmanagement-Tools. Damit lassen sich Projekte, Aufgaben und ToDos im Kanban-Style verwalten. Die Basisfunktionen sind bereits mächtig und dabei aber nicht unübersichtlich und man kann über sogenannte PowerUps viele zusätzliche Funktionen integrieren. Nicht zu reden von den Automationen – viele sind interne Automationen, die innerhalb von Trello genutzt werden köknnen und natürlich gibt es auch einige Möglichkeiten, Trello und die enthaltenen Elemente über Werkzeuge wie Zapier oder Make von anderen Tools zu steuern und umgekehrt. Aber wir wären keine VB/VBA-Entwickler, wenn wir nicht per Code auf die in Trello angelegten Boards, Karten und Eigenschaften zugreifen wollten, um diese zu lesen oder zu schreiben. Die Weboberflächen vieler noch so guter Tools bieten letztlich nicht immer alle nötigen Funktionen, die man aber abbilden kann, wenn das Tool eine Rest-API anbietet und man sich mit der Steuerung solcher APIs unter VB/VBA auskennt. Dann können wir beispielsweise schnell die Projekte oder Aufgaben aus einer Excel- oder Access-Tabelle in Trello anlegen oder auch auf die in Trello enthaltenen Daten zugreifen, um diese mit den Daten in unserer Datenbankwendung abzugleichen. In diesem Artikel zeigen wir, wie dies gelingt.

Weiterlesen

Projekte verwalten mit Trello

Mittlerweile gibt es einige Online-Tools, mit denen man Projekte verwalten kann. Der Vorteil solcher Tools in der heutigen Zeit ist, dass wir diese von überall nutzen können. Egal, ob Mitarbeiter vor Ort arbeiten, beim Kunden sind oder auch im Homeoffice sitzen – die Projektdaten sind immer zugriffsbereit und können jederzeit aktualisiert werden. Das könnte auch für uns als Access-, Office- oder VBA-Entwickler interessant sein. Die Zeiten sollten vorbei sein, an denen man sich als Access- oder Excel-Entwickler in seiner Ehre verletzt fühlt, wenn man Projekte nicht mit seiner Liebings-Officeanwendung verwalten kann. Da diese Tools nur bedingt onlinetauglich sind, wir aber dennoch immer den Überblick über den Stand verschiedener Projekte haben wollen, sollten wir uns für alternative Möglichkeiten öffnen. Aber nicht nur deshalb schauen wir uns in diesem Artikel das Projektmanagement-Tool Trello an, sondern auch, weil es eine für uns sehr wichtige Eigenschaft erfüllt: Es liefert eine Rest-API-Schnittstelle, über die wir die Daten des Tools auslesen und auch bearbeiten können. Wie das gelingt, betrachten wir in einem weiteren Artikel.

Weiterlesen

Outlook: E-Mails erneut senden

Manchmal kommen E-Mails in Postfächern an, wo man diese nicht optimal weiterverarbeiten kann. Ein Beispiel sind E-Mails von Kunden, die Fragen zur Buchhaltung haben, aber ihre E-Mails an die allgemeine info@-Adresse geschickt haben. Dann können wir diese E-Mail zwar an die Buchhaltungs-Adresse weiterleiten, aber wenn die Buchhaltung dann auf diese E-Mail antworten soll, enthält diese bereits die beim Weiterleiten automatisch eingefügten Elemente – das wirkt auf den Kunden nicht besonders professionell. Oder wir haben eine der vielen “Software As A Service”-Anwendung, die ein eigenes Postfach haben, über das wir Informationen direkt dorthin schicken können. Ein Beispiel ist die Projektverwaltung Trello, der man E-Mails an eine spezielle E-Mail-Adresse zusenden kann, die dann dort automatisch als Aufgaben angelegt werden. In diesem Artikel zeigen wir, wie wir mit wenigen Anweisungen eine Kopie dieser E-Mail an eine weitere Adresse schicken können. Das erledigen wir zunächst durch den Aufruf einer VBA-Prozedur. Anschließend schauen wir uns an, wie wir das auch über die Benutzeroberfläche erledigen können.

Weiterlesen

Outlook: Gesendete Mails per COM-Add-In verschieben

In einem anderen Artikel namens “Outlook: Mails nach dem Senden per VBA verschieben” (www.vbentwickler.de/440) haben wir die grundlegenden Techniken gezeigt, mit denen wir E-Mails, die wir selbst versendet haben, nicht in den Ordner Gesendete Elemente verschieben, sondern in einen Ordner unserer Wahl. Damit können wir einfach E-Mails in bestimmten Kontexten direkt in einen Ordner verschieben, wo auch die übrigen E-Mails zu diesem Thema landen. Eigentlich läuft diese Funktion automatisch und bedarf keiner Benutzer-Interaktion, aber wir benötigen eine Möglichkeit, die Regeln für das Verschieben der E-Mails zu definieren. Dazu haben wir eine Textdatei benutzt, die wir für den Benutzer auf einfachem Wege zugänglich machen wollen, zum Beispiel durch das Anklicken eines Ribbonbuttons. Dazu verwenden wir ein COM-Add-In, dem wir auch noch die eigentliche Funktion hinzufügen – und noch ein paar Extras. In diesem Artikel beschreiben wir, wie Du ein solches COM-Add-In mit twinBASIC ganz einfach selbst bauen kannst.

Weiterlesen

Outlook: Mails nach dem Senden per VBA verschieben

Für eingehende E-Mails gibt es unter Outlook die Regel-Funktion, mit der man einstellen kann, unter welchen Umständen eine E-Mail, die im Posteingang landet, in einen anderen Ordner verschoben werden soll. Das kann man beispielsweise nutzen, um immer wiederkehrende Rechnungen direkt in den entsprechenden Ordner zu verschieben. Wünschenswert wäre, wenn es eine solche Funktion auch für versendete E-Mails gäbe. Da Outlook hier aber keine eingebaute Funktion bereitstellt, schauen wir uns das Thema einmal genauer an und entwickeln VBA-Code, mit dem wir diese Aufgabe selbst steuern können. Dabei wollen wir sowohl über die Benutzeroberfläche gesendete E-Mails erfassen als auch E-Mails, die wir per VBA absenden.

Weiterlesen

PowerPoint-Übersetzung per COM-Add-In

Im Artikel “PowerPoint: Texte automatisiert übersetzen” (www.vbentwickler.de/437) haben wir VBA-Code produziert, mit dem wir alle Absätze aller Folien in einem PowerPoint-Dokument automatisch übersetzen können. Dabei nutzen wir den Dienst DeepL. Leider müssen wir, um diesen Code in einem PowerPoint-Dokument verwenden zu können, das Modul erst in das jeweilige Dokument integrieren. Wenn man oft PowerPoint-Folien übersetzen muss, ist das recht aufwändig. Da nehmen wir lieber den Aufwand in Kauf, einmal ein COM-Add-In für diesen Zweck zu programmieren, dass wir dann auch noch an Dich weitergeben können, damit Du es für Dich und Deine Mitarbeiter und/oder Kunden einsetzen kannst.

Weiterlesen

PowerPoint: Texte automatisiert übersetzen

Neulich war es mal wieder so weit: Eine PowerPoint-Präsentation musste her. Und das auch noch auf Englisch. Okay, das Schul-Englisch ist zum Verstehen und schriftliche Kommunikation ausreichend, aber eine PowerPoint-Präsention für englischsprachiges Fachpublikum sollte schon annährend perfekt sein. Wozu gibt es Übersetzungsdienste? Also habe ich meine Texte auf Deutsch zurechtgelegt und diese von der KI übersetzen lassen. Dann habe ich alles in die PowerPoint-Präsentation eingefügt und noch die Animationen hinzugefügt, damit beispielsweise Stichpunkte Schritt für Schritt eingeblendet werden können. All das hat so gut geklappt, dass ich die Präsentation anschließend auch noch für ein Video aufbereiten wollte – diesmal jedoch auf Deutsch. Also habe ich erstmal eine komplette Seite kopiert, übersetzen lassen und wieder zurückgeschrieben. Das habe ich für einige Folien gemacht und dann schnell festgestellt, dass so alle Animationen verloren gehen. Der nächste Ansatz dann: Absatz für Absatz in die Zwischenablage, übersetzen lassen, wieder zurückschreiben. So blieben die Animationen erhalten, aber es war zu viel Handarbeit. Wozu beherrsche ich – im Gegensatz zu Englisch – eigentlich perfekt VBA? Also habe ich mich an die Programmierung der Übersetzung der enthaltenen Texte begeben. Das Ergebnis siehst Du in diesem Artikel!

Weiterlesen

Menü-Steuerelemente per VBA programmieren

Im Artikel “Menüs per VBA programmieren” (www.vbentwickler.de/435) haben wir uns bereits angesehen, wie wir die Menüstruktur selbst im VBA-Editor per VBA programmieren können. Damit wissen wir nun, wie wir Hauptmenüleisten, Symbolleisten und Kontextmenüs erstellen und anzeigen können. Es fehlt allerdings noch das Salz in der Suppe, nämlich die Steuerelemente auf diesen Menüs. Welche es gibt und wie man diese hinzufügt und mit Aktionen versieht, schauen wir uns in diesem Artikel an.

Weiterlesen