[OL2003] Visual Basic を使用して Outlook を自動化する方法

概要

この資料では、Visual Basic のオートメーションを使用して Microsoft Outlook を制御する方法について説明します。この資料で取り上げるのは、Microsoft Outlook のオブジェクト モデルを使用した連絡先の作成、予定の作成、およびメッセージの送信の例です。

詳細

下記の手順に従って例を作成し、実行します。サンプルを実行するには、Microsoft Outlook タイプ ライブラリへの参照を事前に設定する必要があります。Microsoft Outlook の各バージョンに対応するタイプ ライブラリのファイル名は、次の表のとおりです。
Outlook のバージョン
[参照設定] ボックスの一覧に表示されるタイプ ライブラリ
ファイル名
Outlook 97
Microsoft Outlook 8.0 Object Library
msoutl8.olb
Outlook 98Microsoft 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

オートメーション サンプル コードのビルド

  1. Visual Basic を起動し、新しい標準 EXE プロジェクトを作成します。
  2. [プロジェクト] メニューの [参照設定] をクリックし、Microsoft Outlook を選択します。
  3. フォームにボタンを追加します。
  4. このボタンをダブルクリックし、次のコードを追加します。
     ' 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. プロジェクトを実行し、ボタンをクリックしてコードを実行します。
コードが実行されると、"James Smith" という新しい連絡先が追加され、2 分後の予定がスケジュールされ、その確認メッセージが 1 分後に表示されます。また、someone@microsoft.com にメッセージが送信されます。さらに、連絡先の誕生日 (9/15) を追加しているため、その日を忘れないようにするための定期的な予定が Outlook 予定表に追加されます。


Outlook 2002 以降で 2 つのダイアログ ボックスが追加されています。1 つは Outlook に保存している電子メール アドレスにアクセスしようとしているプログラムがあることを警告し、これを許可するかどうかを確認するもので、もう 1 つはプログラムが電子メールを送信しようとしていることを示すメッセージです。この機能により、ウイルスによって、使用しているシステムから電子メールが無断で送信されるのを防ぐことができます。


関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。

290500 [OL2002] Outlook 2002 電子メールのセキュリティ機能に関する開発者向け情報

関連情報

Outlook のプログラミングに関するリソースの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。

166368 Outlook 97 のユーザー設定フォームおよびプログラミングに関するリソース

180826 Outlook 98 のユーザー設定フォームおよびプログラミングに関するリソース

271225 Outlook 2000 のユーザー設定フォームおよびプログラミングに関するリソース

287531 [OL2002] ユーザー設定フォームとプログラミングに関するリソース
313802 Visual Basic .NET で Outlook オブジェクトを使用して連絡先を取得する方法

313788 Microsoft Visual Basic .NET で Outlook オブジェクト モデルを使用して予定を作成する方法

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 220595 (最終更新日 2005-08-10) を基に作成したものです。


この資料に含まれているサンプル コード/プログラムは英語版を前提に書かれたものをありのままに記述しており、日本語環境での動作は確認されておりません。
プロパティ

文書番号:220595 - 最終更新日: 2005/09/20 - リビジョン: 1

フィードバック