OpenAI mit VBA

Schlagwörter wir OpenAI oder ChatGPT beherrschen die Schlagzeilen der Welt. Wir wollen nicht entscheiden, ob es gut oder schlecht ist. ob es Dir den Job wegnimmt oder eine super Unterstützung ist, sondern zeigen in diesem Artikel einfach, wie Du es per VBA steuern und in eigenen Anwendungen nutzen kannst. Dabei greifen wir auf die Rest API von OpenAI zu und ermöglich, dass Du die Antworten auf die mit der Anwendung eingegebene Frage nutzen kannst.

Weiterlesen

Outlook: Ordner per VBA im Griff

Bei einer frischen Outlook-Installation ist die Ordner-Hierarchie recht übersichtlich. Je mehr E-Mails man mit Outlook erhält oder je mehr man mit den übrigen Objekten arbeitet, umso mehr Ordner legt man in den bereits vorhandenen Ordnern als Unterordnern an. Für uns ist natürlich vor allem interessant, wie wir per VBA auf die einzelnen Ordner zugreifen, Ordner ermitteln, anlegen, bearbeiten oder auch löschen. Interessant ist auch, gezielt nach einem Ordner zu suchen und diesen zu referenzieren. Gegebenenfalls möchten wir auch einmal alle vorhandenen Ordner durchlaufen, um die enthaltenen Elemente zu verarbeiten. Wie all dies funktioniert, zeigen wir im vorliegenden Artikel!

Weiterlesen

Outlook: E-Mail-Anlagen verarbeiten

E-Mails können unterschiedlichste Dateien als Anlagen enthalten. Von der Rechnung über Beispieldatenbanken, Word-Dokumente, PDFs oder Excel-Datenbanken. In manchem Fällen möchte man diese automatisiert weiterverarbeiten – beispielsweise, um Rechnungsdokumente einzulesen oder auch um die Dateien einfach nur an einer Stelle im Dateisystem zu speichern, die gesichert wird. In diesem Artikel zeigen wir, wie wir auf die Anlagen von Outlook-E-Mails zugreifen können. Dazu nutzen wir die Outlook-Bibliothek und greifen per VBA auf die Attachments-Auflistung des Mail-Item-Objekts zu.

Weiterlesen

Excel: Mit markierten Arbeitsblättern arbeiten

Unter Excel zeigt man in der Regel nur ein einziges Arbeitsblatt an. Allerdings lassen sich, und das wissen nur wenige Benutzer, auch mehrere Arbeitsblätter gleichzeitig markieren. Der Clou: Aktionen, die dann im aktuell angezeigten Arbeitsblatt durchgeführt werden, wirken sich auch auf alle anderen markierten Arbeitsblätter aus. Dies ist Grund genug, dass wir uns ansehen, wie wir die aktuell markierten Arbeitsblätter auslesen können oder wie wir sogar per VBA einige oder alle Arbeitsblätter markieren können.

Weiterlesen

Outlook: E-Mail per Drag and Drop nach Access

Wenn Du eine Kundendatenbank mit Access programmiert hast und die Kommunikation per E-Mail über Outlook läuft, möchtest Du vielleicht einem Kundendatensatz die E-Mails dieses Kunden zuweisen. Dafür gibt es verschiedene Möglichkeiten. In diesem Artikel schauen wir uns eine an, bei der Du die E-Mail per Drag and Drop auf einen bereich in einem Access-Formular ziehst. Dort verarbeiten wir die E-Mail und speichern bestimmte Daten in einer Tabelle, damit die E-Mail bei Bedarf vom Kunden-Formular aus wieder in Outlook angezeigt werden kann. Wer sich schon mit dem Thema beschäftigt hat, weiß, dass man E-Mails eigentlich nicht nach Access ziehen kann. Deshalb umschiffen wir dieses Problem mit einem kleinen Trick.

Weiterlesen

Excel: Sheet-Navigation per Button

Wenn man ein Excel-Workbook mit vielen verschiedenen Worksheets verwendet, möchte man beim Öffnen des Workbooks vielleicht eine Übersichtsseite präsentiert bekommen, von der aus man per Mausklick auf entsprechende Schaltflächen zu den übrigen Worksheets gelangt – und am besten von dort aus mit einer weiteren Schaltfläche wieder zurück zur Übersicht. In diesem Artikel zeigen wir, wie das gelingt, und warum wir noch nicht mal eine einzige Zeile VBA-Code für dieses Vorhaben benötigen.

Weiterlesen

Outlook: E-Mails nach Eingang verarbeiten

Die verschiedenen Klassen von Outlook bieten eine ganze Reihe von Ereignissen an. Diese werden durch unterschiedliche Aktionen ausgelöst. Eine dieser Aktion ist das Eintreffen einer oder mehrerer neuer E-Mails. Dieses Ereignis mit einer geeigneten Ereignisprozedur abzufangen ist ein sinnvolles Beispiel für die Beschreibung der Programmierung von Ereignissen unter Outlook. Mit E-Mails kann man nach dem Eingang eine Menge anstellen – diese löschen, in einen anderen Ordner verschieben, die Message-Datei im Dateisystem sichern oder auch die Inhalte auslesen, um diese etwa in eine Datenbank zu schreiben. In diesem Artikel beschreiben wir erst einmal allgemein, wie wir überhaupt mit VBA-Code auf den Eingang einer E-Mail reagieren können.

Weiterlesen

Outlook: Application_Startup feuert nicht

Das Ereignis “Startup” des “Application”-Objekts von Outlook ist für viele benutzerdefinierte Erweiterungen von Outlook essenziell, da es die Möglichkeit bietet, direkt beim Starten von Outlook VBA-Code auszuführen. Damit lassen sich für verschiedene Anwendungen wichtige Automatismen anstoßen – zum Beispiel das Deklarieren und Initialisieren von Objektvariablen, für die Ereignisse implementiert werden sollen. Leider passiert es gelegentlich, dass die Ereignisprozedur Application_Startup beim Starten von Outlook nicht aufgerufen wird. Woran das liegt und wir dies ändern, zeigt der vorliegende Artikel.

Weiterlesen

Excel: Workbooks und Worksheets per VBA

Excel bietet eine ganze Reihe hierarchisch angeordneter Elemente, die wir uns in diesem Artikel ansehen. Dabei schauen wir uns auch gleich an, wir wir diese per VBA referenzieren können. Wir beginnen ganz oben in der Hierarchie mit der Excel-Anwendung und arbeiten uns dann über die verschiedenen Elemente bis hin zur einzelnen Zelle mit ihren Eigenschaften. Nach der Lektüre dieses Artikels kannst Du alle wichtigen Elemente eines Excel-Workbooks referenzieren, diese in Schleifen durchlaufen und je nach Objekttyp neue Elemente hinzufügen, bearbeiten oder entfernen können. Außerdem lernst Du noch einige Grundlagen des VBA-Editors kennen.

Weiterlesen

Outlook: Die Application-Klasse

Die Basisklasse einer jeden Office-Anwendung heißt “Application”. Diese stellt je nach Anwendung verschiedene Eigenschaften, Methoden und Ereignisse bereit. Das ist auch im Objektmodell von Outlook der Fall. Hier finden wir beispielsweise die Möglichkeit für den Zugriff auf die “Explorer”- und “Inspector”-Elemente von Outlook, auf die kompletten E-Mails, Kontakte, Termine et cetera über die “GetNamespace”-Funktion oder das wichtige Ereignis “Startup”, mit dem wir gleich beim Start von Outlook wichtige, selbst programmierte Aktionen ausführen können. Dieser Artikel stellt die verschiedenen Member der Application-Klasse vor und beschreibt, was wir mit diesen alles erledigen können.

Weiterlesen