Verwenden von Visual Basic mit Outlook

Verwenden Sie Visual Basic zum Anpassen und Erweitern von Outlook. Sie können Outlook steuern, indem Sie ein Makro in Visual Basic für Applikationen verfassen oder ein benutzerdefiniertes Formular in VBScript und anderen Sprachen (z. B. Visual Basic) erstellen, mit dem Sie ein Add-In erstellen können. Welche dieser Sprachen Sie verwenden, hängt vom beabsichtigten Verwendungszweck Ihres Programms ab.

Bei Visual Basic handelt es sich um eine umfassende Programmiersprache, die Sie verwenden können, um eigenständige Anwendungen oder Anwendungsbibliotheken (DLLs) zur Erweiterung anderer Programme zu erstellen. Visual Basic für Applikationen ist eine Teilmenge von Visual Basic und wird in Anwendungen ausgeführt, um deren Funktionsumfang zu erweitern. VBScript ist eine vereinfachte Version von Visual Basic für Applikationen und wird innerhalb eines Outlook-Elements ausgeführt. In allen Fällen erfolgt die Steuerung von Outlook über das diesem Programm zu Grunde liegende Objektmodell.

Informieren Sie sich über das Outlook-Objektmodell.

Wenn Sie eine andere Anwendung erstellen möchten, die auf von Outlook gespeicherte Daten zugreift und mit Outlook Nachrichten sendet und empfängt, verwenden Sie zum Erstellen dieser Anwendung Visual Basic. Natürlich können Sie auch andere Programmiersprachen wie C++ verwenden, um Outlook über dessen Objektmodell zu steuern. You can create a DLL that can extend Outlook as a COM add-in. One application of COM add-ins is to program form regions and create custom forms.

Sie verwenden Visual Basic for Applications auf eine von zwei Arten: Verwenden Sie Visual Basic for Applications in anderen Anwendungen (z. B. Microsoft Excel oder Microsoft Word), um Outlook zu automatisieren, oder Sie können Visual Basic for Applications in Outlook verwenden, um Outlook zu steuern. . If you expect your users to be using another application most of the time, and you want to give them the ability to send a message using Outlook or to access information stored by Outlook, write Visual Basic for Applications programs in that application that control Outlook through the Outlook object model. Wenn Sie andererseits Visual Basic-Code schreiben möchten, der die Funktionsweise von Outlook (z. B. ein Makro) angepasst, verwenden Sie Visual Basic for Applications in Outlook.

Während Sie ein Add-In verwenden, um Formularbereiche in einem benutzerdefinierten Formular zu erweitern, können Sie die Funktionalität von Formularseiten in benutzerdefinierten Formularen mithilfe von VBScript erweitern. VBScript-Programme werden in einem Formular gespeichert. Because the program code is contained within the form, it can be sent with an item to another user. Abgesehen von der Überlegung, ob ein Formular mit einer Formularseite oder einem Formularbereich angepasst werden soll, ist ein weiterer wichtiger Aspekt bei der Auswahl der Art der Visual Basic-Programmiersprache, die Sie verwenden werden, der Typ der Ereignisse, auf die Ihr Programm reagieren soll.

Da VBScript-Code mit einem bestimmten Element verknüpft ist, lässt sich ein solcher Code am einfachsten mit VBScript schreiben, der auf Ereignisse in bestimmten Elementen (beispielsweise das Öffnen eines speziellen Elements oder Änderung eines Wertes in einem Feld) reagiert. Falls das Programm jedoch auf Ereignisse innerhalb der Anwendung, im Windows-Explorer, in Ordnern oder allen Elementen reagieren soll, empfiehlt es sich, das Programm in Visual Basic oder Visual Basic für Applikationen zu verfassen.

Code, der in Visual Basic oder Visual Basic für Applikationen geschrieben wurde, ist in VBScript oftmals nicht ohne Änderungen lauffähig. Sie müssen beispielsweise alle integrierten Konstanten aus Visual Basic für Applikationen durch die numerischen Werte dieser Konstanten in VBScript ersetzen. Zudem verwendet VBScript ausschließlich den Datentyp Variant. Informieren Sie sich über Konstanten und Variablen in VBScript. In Outlook Visual Basic for Applications und VBScript müssen Sie CreateObject oder GetObject nicht aufrufen, um ein Application-Objekt abzurufen. For example, the following code displays the Tasks folder:

Set olMAPI = Application.GetNameSpace("MAPI") 
olMAPI.GetDefaultFolder(13).Display

In Visual Basic oder Visual Basic für Applikationen in anderen Applikationen müssen Sie das Application -Objekt, wie im folgenden Code gezeigt, explizit erstellen:

Set myOlApp = CreateObject("Outlook.Application") 
Set olMAPI = myOlApp.GetNameSpace("MAPI") 
olMAPI.GetDefaultFolder(olFolderTasks).Display

Andernfalls müssen Sie das Application -Objekt verwenden, das an das OnConnection -Ereignis des Add-Ins übergeben wird.

Hinweis Das Vom Aufruf der CreateObject-Methode zurückgegebene Application-Objekt und alle untergeordneten Objekte, Eigenschaften und Methoden sind nicht vertrauenswürdig. Weitere Informationen zum Verwenden eines vertrauenswürdigen Application-Objekts in einem COM-Add-In finden Sie unter Sicherheitsverhalten des Outlook-Objektmodells.

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.