Automatisieren von Outlook mithilfe von Visual Basic

Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
220595 How to automate Outlook by using Visual Basic

Zusammenfassung

Dieser Artikel beschreibt, wie Sie Microsoft Outlook mithilfe der Automatisierungsfunktion von Visual Basic steuern können. Es wird anhand eines Beispiels erläutert, wie Sie mit dem Objektmodell von Microsoft Outlook Kontakte und Termine erstellen und Nachrichten versenden können.

Weitere Informationen

Gehen Sie wie nachstehend beschrieben vor, um das Automatisierungsbeispiel zu erstellen und auszuführen. Zum Ausführen dieses Beispiels ist ein früh gebundener Verweis auf eine Microsoft Outlook-Typbibliothek erforderlich. In der folgenden Liste sind die Dateinamen für die Typbibliotheken der verschiedenen Versionen von Microsoft Outlook aufgeführt:
Outlook-VersionAngezeigter Name der Typbibliothek in der VerweislisteDateiname
Outlook 97"Microsoft Outlook 8.0 Object Library"msoutl8.olb
msoutl8.olb"Microsoft Outlook 98 Object Library"msoutl85.olb
Outlook 2000"Microsoft Outlook 9.0 Object Library"msoutl9.olb
Outlook 2002"Microsoft Outlook 10.0 Object Library"msoutl.olb
Office Outlook 2003"Microsoft Outlook 11.0 Object Library"msoutl.olb

Erstellen des Automatisierungsbeispiels

  1. Starten Sie Visual Basic, und erstellen Sie ein neues Standard-EXE-Projekt.
  2. Klicken Sie im Menü Projekt auf Verweise, und wählen Sie Microsoft Outlook aus.
  3. Fügen Sie eine Schaltfläche zum Formular hinzu.
  4. Doppelklicken Sie auf die Schaltfläche, und fügen Sie dann den folgenden Code hinzu:
     ' Start Outlook.
    ' If it is already running, you'll use the same instance...
    Dim olApp As Outlook.Application
    Set olApp = CreateObject("Outlook.Application")

    ' Logon. Doesn't hurt if you are already running and logged on...
    Dim olNs As Outlook.NameSpace
    Set olNs = olApp.GetNamespace("MAPI")
    olNs.Logon

    ' Create and Open a new contact.
    Dim olItem As Outlook.ContactItem
    Set olItem = olApp.CreateItem(olContactItem)

    ' Setup Contact information...
    With olItem
    .FullName = "James Smith"
    .Birthday = "9/15/1975"
    .CompanyName = "Microsoft"
    .HomeTelephoneNumber = "704-555-8888"
    .Email1Address = "someone@microsoft.com"
    .JobTitle = "Developer"
    .HomeAddress = "111 Main St." & vbCr & "Charlotte, NC 28226"
    End With

    ' Save Contact...
    olItem.Save

    ' Create a new appointment.
    Dim olAppt As Outlook.AppointmentItem
    Set olAppt = olApp.CreateItem(olAppointmentItem)

    ' Set start time for 2-minutes from now...
    olAppt.Start = Now() + (2# / 24# / 60#)

    ' Setup other appointment information...
    With olAppt
    .Duration = 60
    .Subject = "Meeting to discuss plans..."
    .Body = "Meeting with " & olItem.FullName & " to discuss plans."
    .Location = "Home Office"
    .ReminderMinutesBeforeStart = 1
    .ReminderSet = True
    End With

    ' Save Appointment...
    olAppt.Save

    ' Send a message to your new contact.
    Dim olMail As Outlook.MailItem
    Set olMail = olApp.CreateItem(olMailItem)
    ' Fill out & send message...
    olMail.To = olItem.Email1Address
    olMail.Subject = "About our meeting..."
    olMail.Body = _
    "Dear " & olItem.FirstName & ", " & vbCr & vbCr & vbTab & _
    "I'll see you in 2 minutes for our meeting!" & vbCr & vbCr & _
    "Btw: I've added you to my contact list."
    olMail.Send

    ' Clean up...
    MsgBox "All done...", vbMsgBoxSetForeground
    olNS.Logoff
    Set olNs = Nothing
    Set olMail = Nothing
    Set olAppt = Nothing
    Set olItem = Nothing
    Set olApp = Nothing
  5. Führen Sie das Projekt aus, und klicken Sie auf die Schaltfläche, um den Code auszuführen.
Nachdem der Code ausgeführt wurde, haben Sie einen neuen Kontakt mit dem Namen "James Smith", einen Termin, der zwei Minuten später eingeplant ist und für den in einer Minute eine Erinnerung angezeigt wird, sowie eine gesendete Nachricht an someone@microsoft.com. Außerdem wird eine Ereignisserie zu Ihrem Outlook-Kalender hinzugefügt, da Sie einen Geburtstag für Ihren Kontakt (15.9.) eingetragen haben, um Sie an diesen Tag zu erinnern.

In Outlook 2002 gibt es zwei neue Dialogfelder: Ein Dialogfeld warnt Sie, wenn ein Programm versucht, auf E-Mail-Adressen zuzugreifen, die in Outlook gespeichert sind, und fragt, ob Sie dies zulassen möchten. Ein weiteres Dialogfeld informiert Sie darüber, dass ein Programm versucht, E-Mail-Nachrichten zu versenden. Diese Funktion schützt Ihr System vor Viren, die versuchen, ohne Ihr Wissen E-Mail-Nachrichten von Ihrem System zu versenden.

Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base:

290500 Entwicklerinformationen zu E-Mail-Sicherheitsfeatures in Outlook 2002

Informationsquellen

Weitere Informationen zur Programmierung mit Outlook finden Sie in folgenden Artikeln der Microsoft Knowledge Base:

166368 OL97: So erhalten Sie Hilfe beim Programmieren mit Outlook

180826 OL98: Informationsquellen für Programmierung und Formulare

271225 OL2000: Ressourcen für benutzerdefinierte Formulare und Programmierung

287531 Liste der Ressourcen für benutzerdefinierte Formulare und das Programmieren mit Outlook 2002

313802 Wie Abrufen von Kontakten, indem Outlook-Objektmodell in Visual Basic .NET verwendet

313788 Wie Erstellen eines Termins mit Outlook-Objektmodell in Microsoft Visual Basic .NET

Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Eigenschaften

Artikelnummer: 220595 – Letzte Überarbeitung: 20.10.2005 – Revision: 1

Feedback