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

VBA Basics: Module, Klassen und Co.

Unter VBA strukturieren wir den Code in verschiedene Elemente. Die übergeordneten Elemente sind die Module. Hier unterscheiden wir zwischen Klassenmodulen und Standardmodulen. Darunter können wir Variablen und ähnliche deklarieren sowie auszuführende Anweisungen unterbringen. Diese Anweisungen müssen eine Voraussetzung erfüllen: Sie müssen in einer Sub- oder Function-Prozedur oder innerhalb einer Property-Methode eingetragen werden. In diesem Artikel schauen wir uns die Grundlagen von Modulen, Klassenmodulen und Objektmodulen im Detail an.

Weiterlesen

Excel: Zellen und Bereiche per VBA

Im Artikel “Excel: Workbooks und Worksheets per VBA” haben wir uns angesehen, wie wir Arbeitsmappen und Arbeitsblätter mit VBA nutzen können. Im vorliegenden Artikel gehen wir einen Schritt weiter und nehmen uns die offensichtlichen Elemente eines Arbeitsblatts vor – die Zellen. Nicht weniger spannend sind allerdings die Bereiche, unter VBA “Range” genannt. Wie wir diese referenzieren, auslesen und bearbeiten können, zeigen wir auf den folgenden Seiten.

Weiterlesen

VBA-Basics: MsgBox- und InputBox-Funktion

Die beiden Funktionen MsgBox und InputBox ermöglichen die schnelle Abfrage von Benutzerfeedback. Soll eine Datei überschrieben werden? Wie soll die neue Kategorie heißen? Das sind nur zwei von vielen Beispielen für den Einsatz dieser beiden Funktionen. Dieser Artikel beschreibt die beiden so kompakt wie möglich, damit Du sie schnell in Deine eigenen Anwendungen integrieren kannst.

Weiterlesen

Texte übersetzen mit DeepL

Zum automatischen Übersetzen von Texten gibt es viele Anlässe. Vielleicht möchtest Du die Texte in einer Anwendung automatisch übersetzen lassen, damit Du selbst die Übersetzung nur noch prüfen und gegebenenfalls anpassen musst. Oder Du hast Texte in einer anderen Sprache, die Du gern in die deutsche Sprache übersetzen möchtest, um diese leichter lesen zu können. Wie auch immer: Es gibt zwar Dienste wie Google Translate, mit denen man das im Browser erledigen kann, aber wenn man viele oder umfangreiche Texte übersetzen lassen möchte, ist diese Lösung unbefriedigend. In diesem Fall bietet sich eine Automation des Vorgangs an. Und wie das geht, zeigen wir anhand eines der aktuell besten Übersetzungstools, nämlich DeepL. DeepL bietet ein API an, die wir per VBA oder mit anderen Programmiersprachen ansteuern können. Dieser Artikel stellt die Grundlagen dazu vor.

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

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

VBA-Basics: Makros aufzeichnen

Das Programmieren von Office-Automatisierungen beispielsweise in der Sprache VBA kann für Einsteiger herausfordernd sein. Allerdings gibt es Möglichkeiten, sich hier und da zu behelfen: Die Anwendungen Excel, Word und PowerPoint bieten nämlich einen sogenannten Makro-Rekorder, mit dem man einfache Abläufe innerhalb der Anwendung aufzeichnen kann. Das Ergebnis ist eine VBA-Prozedur, die Du anschließend erneut aufrufen kannst. In vielen Fällen reicht dies bereits aus, um die gewünschten Schritte zu automatisieren, in anderen Fällen möchtest Du das Ergebnis des Makro-Recordsets vielleicht noch anpassen. Wie Du diesen Makro-Rekorder einsetzt und wie Du die Ergebnisse anpassen kannst, zeigt der vorliegende Artikel.

Weiterlesen

VBA Basics: Makros, Prozeduren, Funktionen und Co.

VBA-Code in VBA-Projekten von Office-Anwendungen landet zuerst einmal in Modulen. Darunter gibt es einige weitere Strukturen, auf welche die Anweisungen aufgeteilt werden. Während Deklarationen von Variablen auch direkt in einem Modul angelegt werden können, müssen ausführbare Codezeilen zwingend in Konstrukten untergebracht werden, die je nach Anwendung Makros oder Prozeduren genannt werden. Außerdem gibt es noch Funktionen. Was es mit all diesen Begriffen auf sich hat und wieso diese nicht einheitlich definiert sind, erläutern wir in diesem Artikel.

Weiterlesen

Excel: Übersetzungen mit DeepL

Im Artikel “Texte übersetzen mit DeepL” (www.vbentwickler.de/322) haben wir gezeigt, wie man mithilfe einer in der Basisversion kostenlosen Web-API Übersetzungen von Texten durchführen kann. Das Ergebnis dieses Artikels war jedoch nur eine VBA-Funktion, mit der sich ein als Parameter angegebener Text übersetzen lässt. Das ist für Otto Normalverbraucher natürlich etwas sperrig, sodass wir diese Funktion nun einmal mit in einer Excel-Tabelle gespeicherten Texten ausprobieren wollen. Gleichzeitig lernen wir etwas über das Auslesen und Schreiben von Inhalten aus und in Excel-Tabellen.

Weiterlesen