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

文書翻訳 文書翻訳
文書番号: 220595 - 対象製品
すべて展開する | すべて折りたたむ

目次

概要

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

詳細

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

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

  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年9月20日 - リビジョン: 9.0
この資料は以下の製品について記述したものです。
  • Microsoft Visual Basic 6.0 Enterprise Edition
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Office Outlook 2003
  • Microsoft Outlook 2002 Standard Edition
  • Microsoft Outlook 2000 Standard Edition
  • Microsoft Outlook 97 Standard Edition
  • Microsoft Outlook 98 Standard Edition
キーワード:?
kbhowto kboutlookobj kbautomation KB220595
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com