VBAを使ってOutlookで自動でメールを送信する
開発環境は、Windows 10 Pro(64bit)。
前提条件としてOutlookがパソコン内にあること
- Alt + F11で、VBAエディタを開いて、ヘッダー部分の[ツール] - [参照設定]をクリック
- Microsoft Outlook 14.0 Object Libraryにチェックを入れてOKボタンをクリック
※メールは、例えば、Aさんが、Bさんのメールアドレスを使って、Cさんのメールアドレスへメールを送信することができるので、送信元が必ずAさんでなければならないというわけじゃない。ただ、Bさんの代理でAさんが投稿しました』というメッセージが、自分のOutlookでは表示された。
Sub SendMail() Dim Outlookのオブジェクト As Outlook.Application Dim メールアイテム As Outlook.MailItem Const FullPathFileName As String = "絶対パス付きの添付ファイル名" Set Outlookのオブジェクト = CreateObject("Outlook.Application") Set メールアイテム = Outlookのオブジェクト.CreateItem(olMailItem) '宛先 メールアイテム.SentOnBehalfOfName = "test <test@test.co.jp>" メールアイテム.To = "test@test.co.jp" 'CC (複数のメールアドレスを指定する場合は、;で区切る) メールアイテム.CC = "test2@test.co.jp" '件名 メールアイテム.Subject = "こんにちは" '本文 メールアイテム.Body = "自動メール送信です" '添付ファイル メールアイテム.Attachments.Add(FullPathFileName) 'メール表示 メールアイテム.display '送信 メールアイテム.Send 'オブジェクトの解放 Set Outlookのオブジェクト = Nothing Set メールアイテム = Nothing End Sub
■参考リンク
VB メール操作
【エクセルVBA】Outlookでメールを作成・送信する方法
【VBA】Outlookから添付ファイルを付けてメールを送付する