自動化を使用してAccessを使用してMicrosoft Outlookメッセージを送信する方法2000
概要
この資料では、自動化を使用してMicrosoft Access2000でMicrosoft Outlookメッセージを作成して送信する方法について説明します。
マイクロソフトは、明示的または黙示的な保証なしに、説明のためだけにプログラミング例を提供します。 これには、商品性または特定目的への適合性の黙示の保証が含まれますが、これらに限定されません。 この記事では、説明するプログラミング言語と、プロシージャの作成とデバッグに使用されるツールに精通していることを前提としています。 Microsoftサポートエンジニアは、特定の手順の機能を説明するのに役立ちますが、これらの例を変更して、特定の要件を満たす追加機能を提供したり、手順を構
メモ:Outlook電子メールセキュリティ更新プログラムをインストールしている場合は、次のコードが正常に動作しないことがあります。 この更新プログラムの詳細については、使用しているOutlookのバージョンに応じて、マイクロソフトサポート技術情報の次の記事のいずれかを参照してく:
262631 OL2000:Outlook電子メールセキュリティ更新プログラムに関する情報
262617 OL98:Outlook電子メールセキュリティ更新プログラム
に関する情報SendObjectメソッドを使用して、MICROSOFT AccessでプログラムでMAPIメールメッセージを送信できます。 ただし、SendObjectメソッドを使用すると、外部ファイルを添付したり、メッセージの重要度を設定したりする機能など、完全なメール機能にアクセスできません。 次の例では、自動化を使用して、SendObjectメソッドでは使用できないMicrosoft Outlookの多くの機能を利用するために使用できるメールメッセージを作成および送信します。
自動化を使用してMicrosoft Outlookメールメッセージを送信するには、次の6つの主な手順があります:
-
Outlookセッションを初期化します。
-
新しいメッセージを作成します。
-
受信者(To、CC、およびBCC)を追加し、その名前を解決します。
-
件名、本文、重要度などの有効なプロパティを設定します。
-
添付ファイルを追加します(もしあれば)。
-
メッセージを表示/送信します。
プログラムでMicrosoft Outlookメールメッセージを送信する
-
Customersという名前のサンプルテキストファイルを作成します。txtの中のC:\My ドキュメントフォルダ。
-
Microsoft Accessを起動し、サンプルデータベースNorthwindを開きます。mdb.
-
モジュールを作成し、宣言セクションに次の行がない場合は、その行を入力します:
Option Explicit
-
[ツール]メニューで、[参照]をクリックします。
-
[参照]ボックスで、をクリックしてMicrosoft Outlook9.0オブジェクトライブラリを選択し、[OK]をクリックします。
メモ:Microsoft Outlook9.0オブジェクトライブラリが使用可能な参照ボックスに表示されない場合は、ハードディスクでファイルMsoutl9を参照します。オルブ このファイルが見つからない場合は、この例を続行する前に、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