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

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

Makros in Office aktivieren

Wenn wir in den Anwendungen eines frisch installierten Office-Pakets VBA-Code ausführen wollen, führt dies mitunter nicht zum gewünschten Ergebnis. Stattdessen erscheint eine Meldung, die uns mitteilt, dass die Makros in diesem Projekt deaktiviert sind. Der Grund ist einfach: Mit VBA-Code können wir eine Menge Schaden anrichten, zum Beispiel Dateien oder Verzeichnisse löschen. Daher ist seine Ausführung standardmäßig deaktiviert. Wie wir den VBA-Code dennoch ausführen können, zeigt dieser Artikel.

Weiterlesen

Youtube-Kanal mit VB.NET verwalten, Teil 1

Wie vielleicht einige wissen, füttere ich seit kurzer Zeit einen Youtube-Kanal mit Access-Videos (sicher werden bald auch welche zu den Themen aus “Visual Basic Entwickler” folgen). Um den Zuschauern der Videos den besten Service bieten zu können, möchte ich in den Beschreibungstexten der YouTube-Videos auf andere passende Videos und auch auf Artikel aus den Magazinen verweisen. Da immer wieder neue Videos und Artikel hinzukommen, die thematisch zusammenpassen, möchte ich natürlich auch die Verlinkung in den Beschreibungstexten aktuell halten. Das ist allerdings eine Menge Aufwand, wenn man das immer von Hand erledigen muss. Da bietet es sich doch an, einmal einen Blick auf die Möglichkeiten des codegesteuerten Zugriffs auf einen Youtube-Kanal zu werfen – und damit Funktionen wie das Einlesen der vorhandenen Playlisten und Videos sowie das Aktualisieren von Inhalten wie den Beschreibungstexten zu automatisieren.

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

YouTube-Kanal mit VB.NET verwalten, Teil 2

Im ersten Teil dieser Artikelreihe haben wir die Vorbereitungen auf der Seite von Google beziehungsweise YouTube erledigt. Dabei haben wir ein Google-Konto angelegt, dieses zum Entwickler-Konto erweitert und eine Anwendung für den Zugriff auf die YouTube-API registriert. Außerdem haben wir dort die für den Zugriff notwendigen Zugangsdaten erstellt, die wir in der nun zu programmierenden .NET-Lösung verwenden können. In der .NET-Lösung wollen wir verschiedene Informationen zu unserem YouTube-Kanal abrufen wie die Namen der Playlisten und Informationen zu den enthaltenen Videos. Außerdem wollen wir neue Videos anlegen und die Eigenschaften der vorhandenen Videos anpassen.

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