Jak zautomatyzować program Outlook, korzystając z języka Visual Basic

Streszczenie

W tym artykule zademonstrowano, jak programowo sterować programem Microsoft Outlook, korzystając z automatyzacji w języku Visual Basic. Przykład demonstruje tworzenie kontaktów, terminów oraz wysyłanie wiadomości z wykorzystaniem modelu obiektowego programu Microsoft Outlook.

Więcej informacji

Wykonaj następujące kroki, aby utworzyć i uruchomić przykład. Do uruchomienia przykładu konieczne jest wcześnie powiązane odwołanie do biblioteki typów Microsoft Outlook. W następującej tabeli przedstawiono listę nazw plików bibliotek typów dla różnych wersji programu Microsoft Outlook:
Wersja programu OutlookJak biblioteka typów pojawia się na liście odwołańNazwa pliku
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

Budowanie przykładu automatyzacji

  1. Uruchom program Visual Basic i utwórz nowy projekt Standard EXE.
  2. W menu Project wybierz polecenie References a następnie wybierz pozycję Microsoft Outlook.
  3. Dodaj przycisk do formularza.
  4. Kliknij dwukrotnie przycisk, a następnie dodaj następujący kod:
     * Uruchom program Outlook.
    * Jeśli już działa, użyj tego samego wystąpienia...
    Dim olApp As Outlook.Application
    Set olApp = CreateObject("Outlook.Application")

    ' Logowanie. Nie zaszkodzi, jeśli już działasz po zalogowaniu...
    Dim olNs As Outlook.NameSpace
    Set olNs = olApp.GetNamespace("MAPI")
    olNs.Logon

    ' Utwórz i otwórz nowy kontakt.
    Dim olItem As Outlook.ContactItem
    Set olItem = olApp.CreateItem(olContactItem)

    ' Ustaw informacje Kontaktu...
    With olItem
    .FullName = "James Smith"
    .Birthday = "9/15/1975"
    .CompanyName = "Microsoft"
    .HomeTelephoneNumber = "704-555-8888"
    .Email1Address = "ktos@microsoft.com"
    .JobTitle = "Deweloper"
    .HomeAddress = "111 Main St." & vbCr & "Charlotte, NC 28226"
    End With

    ' Zapisz Kontakt...
    olItem.Save

    ' Utwórz nowy termin.
    Dim olAppt As Outlook.AppointmentItem
    Set olAppt = olApp.CreateItem(olAppointmentItem)

    ' Ustaw czas rozpoczęcia za 2 minuty od teraz...
    olAppt.Start = Now() + (2# / 24# / 60#)

    ' Ustaw inne informacje o terminie...
    With olAppt
    .Duration = 60
    .Subject = "Spotkanie na temat planów..."
    .Body = "Spotkanie z " & olItem.FullName & " w sprawie planów."
    .Location = "Biuro macierzyste"
    .ReminderMinutesBeforeStart = 1
    .ReminderSet = True
    End With

    ' Zapisz termin...
    olAppt.Save

    ' Wyślij wiadomość do nowego kontaktu.
    Dim olMail As Outlook.MailItem
    Set olMail = olApp.CreateItem(olMailItem)
    ' Wypełnij i wyślij wiadomość...
    olMail.To = olItem.Email1Address
    olMail.Subject = "Informacje o spotkaniu..."
    olMail.Body = _
    "W.P. " & olItem.FirstName & ", " & vbCr & vbCr & vbTab & _
    "Do zobaczenia za 2 minuty na spotkaniu!" & vbCr & vbCr & _
    "PS: Jesteś już na mojej liście kontaktów."
    olMail.Send

    ' Czyszczenie...
    MsgBox "Wszystko zrobione...", vbMsgBoxSetForeground
    olNS.Logoff
    Set olNs = Nothing
    Set olMail = Nothing
    Set olAppt = Nothing
    Set olItem = Nothing
    Set olApp = Nothing
  5. Uruchom projekt i kliknij przycisk, aby uruchomić kod.
Po uruchomieniu kodu powinien zostać utworzony nowy kontakt „James Smith”, nowy termin zaplanowany za dwie minuty, z przypomnieniem za minutę, oraz powinny być wysłane dwie wiadomości pod adresem ktos@microsoft.com. Ponieważ została dodana data urodzenia kontaktu (15/9), do kalendarza programu Outlook zostało dodane zdarzenie cykliczne, aby o tym przypomnieć.

W programie Outlook 2002 pojawiły się dwa nowe okna dialogowe: jedno ostrzega, że jakiś program próbuje uzyskać dostęp do adresu e-mail przechowywanego w programie Outlook i pyta, czy na to pozwalasz, a drugie informuje, że jakiś program próbuje wysłać wiadomość e-mail. Funkcja ta chroni przed użyciem programu bez wiedzy użytkownika przez wirus, który wysyła wiadomości e-mail z systemu.

Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

290500 OL2002: Informacje dla deweloperów na temat funkcji zabezpieczeń poczty e-mail

Materiały referencyjne

Aby uzyskać więcej informacji dotyczących zasobów programowania w programie Outlook, kliknij następujące numery artykułów w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:

166368 Resources for custom forms and programming in Outlook 97

180826 Resources for custom forms and programming in Outlook 98

271225 Resources for custom forms and programming in Outlook 2000

287531 List of resources for custom forms and programming with Outlook 2002

313802 How to retrieve contacts by using Outlook object model in Visual Basic .NET

313788 How to create an appointment by using Outlook object model in Microsoft Visual Basic .NET

Właściwości

Identyfikator artykułu: 220595 — ostatni przegląd: 01.02.2006 — zmiana: 1

Opinia