Automatisieren von Outlook aus einem anderen Programm

Artikel-ID: 201096 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Eine Microsoft Outlook 97-Version dieses Artikels finden Sie unter 168095.
Eine Microsoft Outlook 98-Version dieses Artikels finden Sie unter 181202.
Eine Microsoft Outlook 2002-Version dieses Artikels finden Sie unter 291120.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

In diesem Artikel Überblick Programmieren von Outlook mithilfe von Automatisierung aus einem anderen Programm.

Weitere Informationen

Microsoft bietet Programmierbeispiele für Abbildung nur ohne Gewährleistung oder konkludent, einschließlich, aber nicht beschränkt auf konkludenten Garantien der Handelsüblichkeit und/oder Eignung für einen bestimmten Zweck. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen. Spezialisten von Microsoft Support Services können bei Erläuterung die Funktionalität einer bestimmten Prozedur helfen, Sie werden ändert jedoch nicht Beispielen bieten Funktionen hinzugefügt oder Verfahren, um Ihren speziellen Anforderungen erstellen.
Wenn Sie Programmiererfahrung, beschränkt haben, sollten Sie ein Microsoft Certified Partner oder die Microsoft Advisory Services wenden. Weitere Informationen finden Sie auf diese Websites von Microsoft:

Microsoft Certified Partner - https://partner.microsoft.com/global/30000104

Microsoft-Sicherheitsempfehlung Services - http://support.microsoft.com/gp/advisoryservice

Weitere Informationen zu den Supportoptionen, die verfügbar sind und wie Sie Microsoft kontaktieren besuchen Sie in der folgenden Website: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMSAutomatisierung ermöglicht einem Programm, einem anderen Programm steuern, indem entweder Ausgeben von Befehlen oder programmgesteuert Abrufen von Informationen. Verwenden Sie die Codebeispiele in diesem Artikel im Microsoft Word, Microsoft Excel, Microsoft Visual Basic oder jedem anderen Programm, die Automatisierung unterstützt.

Frühe Vergleich mit später Bindung

"Anfang" oder "spät" Bindung können Sie um eine Sitzung Automatisierung zu starten. Späte Bindung verwendet der GetObject oder CreateObject -Funktion, um Outlook zu initialisieren. Beispielsweise legt der folgende Code ein Objekt an das Programm Outlook (der höchsten Ebene Objekt in das Outlook-Objektmodell ist fest. Alle Automatisierungscode muss zuerst ein Outlook.Application Objekt definieren, die andere Outlook-Objekte, darunter den Zugriff auf.
Dim objOL as Object
Set objOL = CreateObject("Outlook.Application")
				
Frühe Bindung verwenden möchten, müssen Sie zuerst die verfügbare Outlook verweisen Bibliothek-Objekt. Gehen Sie folgendermaßen vor dazu in Visual Basic (VB) oder Visual Basic für Applikationen:
  1. Klicken Sie im Visual Basic-Editor im Menü Extras auf Verweise .
  2. Klicken Sie auf der Microsoft Outlook 9.0 Object Library Kontrollkästchen, und klicken Sie dann auf OK .
Die Objektdatei Bibliothek Msoutl9.olb ist und in den Ordner c:\Programme\Microsoft Office\Office standardmäßig installiert. Nachdem Sie die Outlook-Objekt Bibliothek verweisen, können Sie die folgende Syntax eine Outlook-Sitzung starten:
Set ol = New Outlook.Application
				
verwenden die frühe Bindung hat zwei wichtige Vorteile. Wird zunächst frühe Bindung mit Code schneller ausgeführt als Code, der späten Bindung (GetObject/CreateObject). Da die Outlook-Objekt Bibliothek verweisen, können Sie Zweitens online Outlook Programmierhilfe Verwenden des Objektbrowsers erhalten und Hilfesystem.

Outlook-Objektmodell

Das Outlook-Objektmodell können Sie in Outlook-Ordnern gespeicherte Daten zu bearbeiten. Neue Features in Outlook können auch das Ändern der Outlook-Leiste, mit ausgewählten Elementen in einem Ordner arbeiten und auf Elementebene und Anwendungsebene bearbeiten. Ereignisse hinzufügen, kann Ihr Code auf viele Dinge zu reagieren, in Outlook, so dass Sie eine Lösung ereignisgesteuerte erstellen auftreten.

Sie werden jedoch feststellen, die im Vergleich zu Word und Excel steht eingeschränkte Funktionalität zur Steuerung von Outlook selbst. Viele Funktionen von Outlook sind nicht verfügbar gemachte oder anpassbare über die Outlook-Objektmodell. Z. B. können nicht Sie das Objektmodell verwenden, um die Einstellungen für Optionen im Menü Extras ändern, dass Sie Ihre eigene Seite im Optionen oder Eigenschaftendialogfelds erstellen können, können zwar ein neues Feature in Outlook.

Hinweis : als eine Umgehungsmöglichkeit Beschränkungen im Hinblick auf das Objektmodell, können Sie das CommandBars -Objekt bereitgestellten Microsoft Office verwenden, um die meisten Befehle, die entweder Symbolleistenschaltflächen zugeordnet sind, oder Menübefehle ausführen. Das CommandBars -Objekt können Sie den Befehl Neuer Telefonanruf im Untermenü Wählen im Menü Extras im Dialogfeld Neuer Telefonanruf aufrufen ausführen.

Die meisten Programmierung Lösungen müssen mit den in Outlook gespeicherten Daten interagieren. Outlook speichert alle die Informationen in MAPI (Messaging Application Programming Interface)-Ordnern. Nachdem Sie eine Objektvariable Outlook.Application festgelegt haben, werden Sie daher häufig ein Namespace -Objekt zu MAPI festlegen:
Set ol = New Outlook.Application
Set olns = ol.GetNamespace("MAPI")
				
Wenn Sie das Namespace -Objekt festgelegt haben, können Sie das nächste Objekt in einen Ordner innerhalb der MAPI-Namespace festgelegt. Eine auf diese Weise wird häufig durch Angabe das Outlook standardmäßig Ordner, welche Ordner auf derselben Ordnerebene als den Posteingang, die eingehenden e-Mail-Nachrichten empfängt. Im folgende Code legen das ObjFolder -Objekt auf den standardmäßigen Kontakteordner:
Set ol = New Outlook.Application
Set olns = ol.GetNamespace("MAPI")
Set objFolder = olns.GetDefaultFolder(olFolderContacts)
				
Weitere Informationen zum Verweisen auf andere Arten von Ordnern finden Sie im folgenden Artikel der Microsoft Knowledge Base:
208520 Programmierbeispiele für Verweise auf Elemente und Ordner
Wenn Sie programmgesteuert auf den Ordner, die die Elemente enthält, die Sie verwenden, oder erstellen möchten haben, können Sie entsprechenden Code, für die Programmierung Aufgabe. Finden Sie weiter unten in der Artikel einige gängige Beispiele Programmierung für den Beispielen.

Zusätzlich zu den Zugriff auf Outlook Daten aus einer anderen Anwendung, Sie können auch Ihre Anwendung bewusst Wenn bestimmte Ereignisse in Outlook auftreten werden lassen. Beispiele für Ereignisse sind, wenn ein Element in einem Ordner hinzugefügt wird, wenn der Benutzer ein anderes Element in den Ordner auswählt oder wenn eine Outlook-Erinnerung angezeigt wird. Finden Sie eine vollständige Liste der verfügbaren Ereignisse in Microsoft Outlook Visual Basic Reference (Vbaoutl9.chm). Informationen zum Abrufen der Hilfedatei finden Sie unter in diesem Artikel im Abschnitt Verweise.

Ein Beispiel, wie Sie Outlook-Ereignisse in Ihrer Anwendung integrieren können finden Sie in der folgenden Artikel der Microsoft Knowledge Base:
225502 mit Outlook-Ereignisse in einem anderen Programm

Beispielcode für allgemeine Programmieraufgaben

Beispiel: Erstellen eines neuen Standard-Task-Elements

Sub CreateNewDefaultOutlookTask()

   Dim ol As Outlook.Application
   Dim NewTask As Outlook.TaskItem

   ' Set the Application object.
   Set ol = New Outlook.Application

   ' Create a new standard task.
   Set NewTask = ol.CreateItem(olTaskItem)

   ' Display the new task form so the user can fill it out.
   NewTask.Display

End Sub
				

Beispiel: Erstellen eines neuen Kontakts mit einem benutzerdefinierten Formular

Sub CreateNewContactFromCustomForm()

   Dim ol As Outlook.Application
   Dim olns As Outlook.NameSpace
   Dim objFolder As Outlook.MAPIFolder
   Dim AllContacts As Outlook.Items
   Dim NewContact As Outlook.ContactItem

   ' Set the Application object.
   Set ol = New Outlook.Application

   ' Set the Namespace object.
   Set olns = ol.GetNamespace("MAPI")

   ' Set the default Contacts folder.
   Set objFolder = olns.GetDefaultFolder(olFolderContacts)

   ' Set objAllContacts equal to the collection of all contacts.
   Set AllContacts = objFolder.Items

   ' Add a new contact to the AllContacts collection using the
   ' "IPM.Contact.MyForm" form.
   Set NewContact = AllContacts.Add("IPM.Contact.MyForm")

   ' Display the new contact form.
   NewContact.Display

End Sub
				

Beispiel: Durchlaufen alle Standard-Kontakte

Sub GetOutlookContacts()

   Dim ol As Object
   Dim olns As Object
   Dim objFolder As Object
   Dim objAllContacts As Object
   Dim Contact As Object

   ' Set the Application object.
   Set ol = New Outlook.Application

   ' Set the Namespace object.
   Set olns = ol.GetNamespace("MAPI")

   ' Set the default Contacts folder.
   Set objFolder = olns.GetDefaultFolder(olFolderContacts)

   ' Set objAllContacts equal to the collection of all contacts.
   Set objAllContacts = objFolder.Items

   ' Loop through each contact.
   For Each Contact In objAllContacts

      ' Display the Fullname field for the contact.
      MsgBox Contact.FullName

   Next

End Sub
				

Informationsquellen

Weitere Informationen zu verfügbaren Ressourcen und Antworten auf häufig gestellte Fragen zu Microsoft Outlook 2000-Lösungen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
146636 Fragen zu benutzerdefinierten Formularen und Outlook-Lösungen

Eigenschaften

Artikel-ID: 201096 - Geändert am: Donnerstag, 23. November 2006 - Version: 3.4
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Outlook 2000
Keywords: 
kbmt kbautomation kbdtacode kbhowto kbprogramming KB201096 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 201096
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns