Automation を使用して Access 2000 を使用して Microsoft Outlook メッセージを送信する方法
この記事は、Microsoft Access データベース (.mdb) と Microsoft Access プロジェクト (.adp) に適用されます。
概要
この記事では、Automation を使用して Microsoft Access 2000 で Microsoft Outlook メッセージを作成して送信する方法について説明します。
Microsoft は、例示のみを目的としてプログラミング例を提供しており、明示または黙示にかかわらず、いかなる責任も負わないものとします。 これには、市販性または特定の目的との適合性についての黙示の保証も含まれますが、これに限定はされません。 この記事は、説明されているプログラミング言語、手順を作成およびデバッグするために使用されているツールに読者が精通していることを前提にしています。 マイクロソフト サポート窓口では、特定のプロシージャの機能説明に関するご質問に対して支援いたしますが、本例を特定の目的を満たすために機能を追加したり、プロシージャを構築することは行いません。
注:
Outlook 電子メール セキュリティ更新プログラムをインストールした場合、次のコードが正しく動作しない可能性があります。
メソッドを SendObject
使用して、Microsoft Access でプログラムで MAPI メール メッセージを送信できます。 ただし、 メソッドでは、 SendObject
外部ファイルを添付したり、メッセージの重要度を設定したりする機能など、完全なメール機能にアクセスすることはできません。 次の例では、Automation を使用して、メソッドで使用できない Microsoft Outlook の多くの機能を利用するために使用できるメール メッセージを SendObject
作成して送信します。
Automation を使用して Microsoft Outlook メール メッセージを送信するには、次の 6 つのメイン手順があります。
- Outlook セッションを初期化します。
- 新しいメッセージを作成します。
- 受信者 (宛先、CC、BCC) を追加し、その名前を解決します。
- サブジェクト、本文、重要度などの有効なプロパティを設定します。
- 添付ファイルを追加します (存在する場合)。
- メッセージを表示/送信します。
プログラムによる Microsoft Outlook メール メッセージの送信
C:\My Documents フォルダーに Customers.txt という名前のサンプル テキスト ファイルを作成します。
Microsoft Access を起動し、サンプル データベース Northwind.mdbを開きます。
モジュールを作成し、[宣言] セクションに次の行を入力します (まだ存在しない場合)。
Option Explicit
[ ツール ] メニューの [ 参照] を選択します。
[ 参照 ] ボックスで、 Microsoft Outlook 9.0 オブジェクト ライブラリを選択し、[ OK] を選択します。
注:
[使用可能な参照] ボックスに Microsoft Outlook 9.0 オブジェクト ライブラリが表示されない場合は、ハード ディスクで Msoutl9.olb というファイルを参照します。 このファイルが見つからない場合は、この例に進む前に、Microsoft Outlook セットアップ プログラムを実行してインストールする必要があります。
新しいモジュールに次の手順を入力します。
Sub SendMessage(Optional AttachmentPath) Dim objOutlook As Outlook.Application Dim objOutlookMsg As Outlook.MailItem Dim objOutlookRecip As Outlook.Recipient Dim objOutlookAttach As Outlook.Attachment ' Create the Outlook session. Set objOutlook = CreateObject("Outlook.Application")' Create the message. Set objOutlookMsg = objOutlook.CreateItem(olMailItem) With objOutlookMsg ' Add the To recipient(s) to the message. Set objOutlookRecip = .Recipients.Add("Nancy Davolio") objOutlookRecip.Type = olTo ' Add the CC recipient(s) to the message. Set objOutlookRecip = .Recipients.Add("Andrew Fuller") objOutlookRecip.Type = olCC ' Set the Subject, Body, and Importance of the message. .Subject = "This is an Automation test with Microsoft Outlook" .Body = "Last test - I promise." & vbCrLf & vbCrLf .Importance = olImportanceHigh 'High importance ' Add attachments to the message. If Not IsMissing(AttachmentPath) Then Set objOutlookAttach = .Attachments.Add(AttachmentPath) End If ' Resolve each Recipient's name. For Each objOutlookRecip In .Recipients objOutlookRecip.Resolve If Not objOutlookRecip.Resolve Then objOutlookMsg.Display End If Next .Send End With Set objOutlookMsg = Nothing Set objOutlook = Nothing End Sub
この手順をテストするには、[ イミディエイト ] ウィンドウに次の行を入力し、Enter キーを押します。
SendMessage "C:\My Documents\Customers.txt"
添付ファイルを指定せずにメッセージを送信するには、次のようにプロシージャを呼び出すときに引数を省略します。
SendMessage
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示