ExcelVBAからOutlookクライアントアプリを使用して、メールを自動的に送信することができます。
ユーザーに送信ボタンをクリックさせることなく、バックグラウンドで送信まで行います。
0. この記事のまとめ
Microsoft Outlook Object Library を使用します。
olMailItem
オブジェクトのSend
メソッドを使用することで、送信が行われます。
Dim ObjOutlook As Outlook.Application
Dim ObjMail As Outlook.MailItem
Set ObjOutlook = New Outlook.Application
Set ObjMail = ObjOutlook.CreateItem(olMailItem)
ObjMail.To = "aaa@bbb.com; ccc@ddd.com"
ObjMail.CC = "aaa@bbb.com; ccc@ddd.com"
ObjMail.Subject = "メール件名"
ObjMail.Body = "メール本文"
ObjMail.Send
1. メールを送信するのは、Sendメソッド
Outlookメールを送信するのは、ObjOutlook.CreateItem(olMailItem)
で作成されたオブジェクトのSend
メソッドです。
以下のコードの中でObjMail.Send
がこれに該当します。
Dim ObjOutlook As Outlook.Application
Dim ObjMail As Outlook.MailItem
Set ObjOutlook = New Outlook.Application
Set ObjMail = ObjOutlook.CreateItem(olMailItem)
ObjMail.To = "aaa@bbb.com; ccc@ddd.com"
ObjMail.CC = "aaa@bbb.com; ccc@ddd.com"
ObjMail.Subject = "メール件名"
ObjMail.Body = "メール本文"
ObjMail.Send
2. 宛先は「To」プロパティ
宛先メールアドレスは、To
プロパティで指定します。
ObjMail.To = "aaa@bbb.com; ccc@ddd.com"
3. Ccは「CC」プロパティ
CCメールアドレスは、CC
プロパティで指定します。
ObjMail.CC = "aaa@bbb.com; ccc@ddd.com"
4. BCcは「BCC」プロパティ
CCメールアドレスは、CC
プロパティで指定します。
ObjMail.BCC = "aaa@bbb.com; ccc@ddd.com"
5. 送信せずにメール送信画面を表示するときは、「Display」メソッド
直接送信せずに、メール送信画面を表示するには、Display
メソッドを使用します。
Dim ObjOutlook As Outlook.Application
Dim ObjMail As Outlook.MailItem
Set ObjOutlook = New Outlook.Application
Set ObjMail = ObjOutlook.CreateItem(olMailItem)
ObjMail.To = "aaa@bbb.com; ccc@ddd.com"
ObjMail.CC = "aaa@bbb.com; ccc@ddd.com"
ObjMail.Subject = "メール件名"
ObjMail.Body = "メール本文"
ObjMail.Display
6. メール本文形式を変更するときは「BodyFormat」プロパティ
メール本文形式は、以下から選択できます
- テキスト形式
- リッチテキスト形式
- HTML形式
これらは、BodyFormat
プロパティから指定できます。
メール形式 | プロパティ名称 |
---|---|
テキスト形式 | olFormatPlain |
リッチテキスト形式 | olFormatRichText |
HTML形式 | olFormatHTML |
ObjMail.BodyFormat = olFormatPlain
コメント