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

Dateien und Ordner auswählen per FileDialog

Wenn Du mit VBA programmierst, wirst Du immer wieder mit Dateien arbeiten. Eine der Hauptaufgaben dabei ist, zu öffnende Dateien auszuwählen, Verzeichnisse zu selektieren oder einen Namen für eine zu speichernde Datei festzulegen. Alles drei lässt sich mit verschiedenen Methoden erledigen, aber es gibt eine Klasse, die alles gleichzeitig anbietet – und zwar die FileDialog-Klasse der Office-Bibliothek. In diesem Artikel schauen wir uns an, wie Du Dateidialoge für die verschiedenen Anwendungszwecke öffnen und auswerten kannst.

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

VBA Basics: Schleifen

Wenn wir in VBA einen Vorgang mehr als einmal durchführen wollen, verwenden Sie dazu eine sogenannte Schleife. Davon gibt es verschiedene Arten: Einige, wie die For…Next-Schleife und die For Each-Schleife, werden entsprechend einer vorgegebenen Anzahl durchlaufen, andere solange, wie eine bestimmte Bedingung erfüllt ist – so zum Beispiel die Do While-Schleife. Dieser Artikel stellt die verschiedenen Schleifenarten vor und zeigt, welche sich für welchen Einsatzzweck eignet.

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

Excel-Datei per COM-Add-In als .xlsm speichern

Wer viel mit Excel-Worksheets arbeitet und diesen regelmäßig VBA-Code hinzufügt, muss diese als .xlsm-Datei speichern, damit die Änderungen am VBA-Projekt beim Schließen nicht verlorengehen. Dazu muss man immer den Backstage-Bereich von Excel öffnen und einige Mausklicks durchführen. Wie wäre es, wenn man diese Aktion direkt im Backstage-Bereich finden würde – und nur noch einen Mausklick tätigen müsste, damit das aktuelle Excel-Worksheet nicht nur unter dem gleichen Namen und der Dateiendung .xlsm gespeichert wird, sondern auch noch die ursprüngliche .xlsx-Datei gelöscht wird? Wie das geht, zeigen wir in diesem Artikel.

Weiterlesen

DHL-Paketlabel per VBA erstellen

Beim Versand von Paketen kommt recht oft DHL zum Einsatz. Die einfachste Form der computergestützten Erstellung von Paketlabeln ist dabei das Anmelden bei DHL und das Erstellen eines Labels durch Eingabe der Adressdaten und Bezahlung auf der Webseite. Etwas mehr Möglichkeiten bietet ein Geschäftskundenkonto beim Anbieter DHL. Hier können wir einen Schritt weitergehen und die Adressdaten beispielsweise per CSV übermitteln. Noch schöner wäre es, wenn wir von der jeweiligen Anwendung aus – ob es sich nun um eine Access-Datenbank, eine Excel-Tabelle oder sogar Outlook handelt – direkt per Mausklick ein Paketlabel zur Sendung eines Pakets an den jeweiligen Kontakt erstellen könnten, dass dann beispielsweise als PDF auf unserem Rechner landet. Wie das gelingt, zeigen wir im vorliegenden Artikel.

Weiterlesen

VBA Basics: Bedingungen

Wenn man in VBA-Routinen bestimmte Anweisungen in Abhängigkeit von einem Wert einer Variablen, einer Eingabe oder anderen Bedingungen ausführen lassen möchte, verwendet man sogenannte Bedingungen. Unter VBA gibt es dazu die If…Then-Bedingung und die Select Case-Bedingung. Streng genommen gibt es noch einige VBA-Funktionen, die auch Bedingungen enthalten. Diese schauen wir uns aber in einem anderen Artikel an. Hier geht es zunächst um die beiden genannten Konstrukte.

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

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