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

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: 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

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

Aufgaben mit Microsoft To Do verwalten

Auf der Suche nach einer einfachen Verwaltung für Aufgaben, sowohl privat als auch geschäftlich, bin ich wieder einmal über Microsoft To Do gestolpert. Was ich suchte, war eine App, in der ich Aufgaben einfach in Projekte strukturieren konnte und die mir die Möglichkeit gibt, diese mit einem Erledigungsdatum zu versehen. Außerdem wollte ich eine Übersicht über die heute zu erledigenden Aufgaben haben. Schließlich gibt es noch zwei weitere Anforderungen: Erstens sollte die App nicht nur auf dem Windows Desktop nutzbar sein, sondern auch von mobilen Geräten aus. Zweitens habe ich mir gewünscht, dass ich die Listen auch per VBA aus Excel-Tabellen oder auch einer Datenbank heraus befüllen kann. In einer Artikelreihe schauen wir uns an, wie all das funktioniert. In diesem Artikel betrachten wir erst einmal die Möglichkeiten von Microsoft To Do in der Windows App.

Weiterlesen

VBA Basics: Mit Arrays programmieren

Arrays sind eine einfache Möglichkeit, mit VBA-Bordmitteln mehrere Werte unter einem einzigen Namen zu speichern und effizient auf diese Werte zuzugreifen. In diesem Artikel geben wir eine umfassende Einführung in die Verwendung von Arrays in VBA einschließlich der Definition, Deklaration, Manipulation und der Anwendung in verschiedenen Szenarien.

Weiterlesen

Dateiauswahl-Dialog-Assistent programmieren

Dateidialoge benötigt man immer wieder. Ob man nun Dateien zum Öffnen oder Bearbeiten auswählen möchte, ob man einen Pfad zum Speichern einer Datei braucht oder ob man ein Verzeichnis selektieren will – am einfachsten geht das mit den praktischen Dateidialogen. Die Office-Bibliothek bietet sogar alle benötigten Varianten über die FileDialog-Klasse an. Dumm ist nur, dass man nicht ständig Filedialoge programmiert, sondern nur alle paar Wochen, Monate oder sogar Jahre. Dann muss man sich immer wieder einarbeiten, um die verschiedenen Parameter – Titel, Schaltflächenbeschriftungen, Standardverzeichnis und -dateiname, Filter, Dateiendungen und so weiter zu definieren. Wie schön wäre es doch, wenn wir solche Dateidialoge mit einem kleinen Assistenten zusammenstellen könnten. Also machen wir uns ans Werk und schaffen einen solchen Wizard!

Weiterlesen

Outlook: Kalender und Termine programmieren

Outlook-Kalender und -Termine sind neben den E-Mails und Kontakten weitere wichtige Elemente. In diesem Artikel schauen wir uns an, wie wir per VBA auf die einzelnen Kalender und die darin enthaltenen Termine zugreifen können. Dabei durchlaufen wir Kalender und Termine, um diese auszulesen, legen neue Termine an, löschen Termine und bearbeiten vorhandene Termine. Wozu das alles? Damit wir wissen, welche Elemente und welche Eigenschaften wir per VBA referenzieren müssen, um verschiedene Aufgaben erfüllen zu können: Zugriff von anderen Anwendungen, um Termine anzulegen, Termine zu lesen oder auch um Termine aus Outlook heraus in andere Kalenderanwendungen wie beispielsweise Google Calendar zu exportieren.

Weiterlesen

Outlook: Ereignisse für Termine implementieren

Wenn wir Aufgaben erledigen wollen, die in Zusammenhang mit dem Anlegen, Bearbeiten oder Löschen von Terminen zu tun haben, kommen wir nicht um die Programmierung der Ereignisse von Terminen herum. Die Ereignisse eines Termins selbst zu implementieren ist halbwegs intuitiv, aber wo finden wir zum Beispiel die Ereignisprozedur, die ausgelöst, wenn wir einen neuen Termin anlegen? Der Termin selbst kann dieses Ereignis noch nicht enthalten, denn es gibt ihn ja zu diesem Zeitpunkt noch nicht. Tatsächlich wollen wir auch erst auf das Speichern des neuen Termins reagieren. Dazu müssen wir diesen aber dennoch erst einmal mit einer geeigneten Objektvariablen referenzieren. Wie das gelingt und wie wir alle notwendigen Ereignisse bei der Nutzung eines Termins implementieren können, zeigen wir in diesem Artikel.

Weiterlesen

Termine von Outlook zum Google Calendar exportieren

Wenn wir Outlook und Google Calendar nutzen, wollen wir vielleicht auch Termine von Outlook aus zum Google Calendar exportieren. In diesem Artikel zeigen wir, wie das für einfache Termine mit den grundlegenden Eigenschaften gelingen kann. Später schauen wir uns an, wie wir die hier geschaffenen Prozeduren von verschiedenen Stellen in Outlook aufrufen können – beispielsweise über das Ribbon oder das Kontextmenüs eines Termins.

Weiterlesen