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

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

Outlook: Elemente durchsuchen mit AdvancedSearch

Die “AdvancedSearch”-Methode der Application-Klasse von Outlook erlaubt das Suchen von Elementen nach bestimmten Kriterien in dem vorgegebenen Ordner – gegebenenfalls sogar mit Unterordnern. An ihr hängen zwei Ereignisse namens “AdvancedSearchComplete” und “AdvancedSearchStopped”, die je nach dem Ausgang der Suche ausgelöst werden. Dieser Artikel zeigt, wie wir eine Suche in Outlook-Elementen per VBA durchführen und wie wir die damit zusammenhängenden Ereignisse verwenden müssen, damit die Suche wie gewünscht funktioniert. Außerdem erfährst Du, wie Du Suchbegriff und Suchbereich definieren musst.

Weiterlesen

Outlook: Explorer automatisieren

Outlook ist wohl die Schaltzentrale an allen Arbeitsplätzen, die mit Microsoft Office arbeiten. Es bietet schon von Haus aus sehr viele Möglichkeiten, um E-Mails, Termine, Aufgaben oder Kontakte zu verwalten. Wenn man länger damit arbeitet, kommen einem früher oder später Ideen, wie man es noch weiter automatisieren könnte. Beispielsweise, um die Inhalte von E-Mails, die man in einen bestimmten Ordner verschiebt, gleich in Aufgaben umzuwandeln, vorgefertigte Antworten für E-Mails bereitzuhalten und so weiter. Der Weg zur Umsetzung führt über die Programmierung per VBA und genauer von VBA-Ereignissen. Denn für fast jede Aktion, die wir in Outlook durchführen, ob es nun das Erstellen oder Abschicken einer E-Mail, das Anlegen einer Aufgabe, das Öffnen eines Kontaktes ist, können wir ein Ereignis definieren, für das wir eine passende Prozedur hinterlegen. Dieser Artikel zeigt die wichtigsten Elemente des Hauptelements der Benutzeroberfläche von Outlook, nämlich dem Explorer, und wie wir diese direkt im VBA-Projekt von Outlook für unsere Zwecke anpassen können.

Weiterlesen

E-Mails per VBA erstellen mit CreateItem

Wie man mit Outlook eine E-Mail erstellt, diese mit Betreff, Inhalt, Anlagen, Empfänger und so weiter füllt und diese dann verschickt, weiß mittlerweile jeder. Aber was, wenn man das Erstellen von E-Mails automatisieren möchte und dazu VBA nutzen will? Beispielsweise, um auf Knopfdruck eine Standardmail an einen Empfänger zu schicken oder auch eine Mail an eine Liste von Kunden zu senden? Der vorliegende Artikel zeigt, wie Sie per VBA neue E-Mails erstellen und diese dann entweder zum Betrachten, Nachbearbeiten und zum manuellen Senden anzeigen oder diese sofort auf den Weg zum Empfänger bringen.

Weiterlesen

Outlook: Codebeispiele ausprobieren

In diesem Magazin stellen wir immer wieder Beispiele zur Programmierung von Outlook per VBA vor. Während wir solchen Beispielcode bei den anderen Anwendungen wie Word, Excel oder PowerPoint oder auch unter Access in entsprechenden Beispieldokumenten unterbringen können, müssen wir die Outlook-Beispiele in das VBA-Projekt von Outlook einfügen, um diese auszuprobieren. Wie das gelingt, zeigt der vorliegende Artikel.

Weiterlesen