【エクセルVBA】セルに入力した文章をOutlookでメール送信する
当ページのリンクには広告が含まれています。
エクセルVBAを使って
セルに入力した「件名」「本文」を Outlook(アウトルック)で メール送信 する方法を解説します。
パソコンに Outlook アプリがインストールされていて、メールアカウントを設定済であれば実行可能です。
インストールされているが、メールアカウントを設定していない人は、設定して使える状態にする必要があります。
Microsoft
クリックしてジャンプ
イメージ動画(音声はありません)
サンプルダウンロード
説明に使用しているエクセルファイルです
下図のような表示が出た場合は、以下の手順でマクロを有効にできます。
- 一度、エクセルを閉じる
- ダウンロードしたエクセルファイルを「右クリック」
- 「プロパティ」を選択
- 「全般」タブのセキュリティの「許可する」に ✓
- 「適用」ボタンをクリック
- 「OK」ボタンをクリック
Outlookでメール送信:VBAコード
Sub SendEmail_Outlook()
'Outlookがインストールされていて
'メールアカウントが設定されており
'メールが使える状態であること
'「Microsoft_Outlook_16_Object_Library」 参照追加
Dim objOutlook As Outlook.Application
Dim objMail As Outlook.MailItem
Dim wsMail As Worksheet
Set objOutlook = New Outlook.Application
Set wsMail = ThisWorkbook.Sheets("Sheet1")
Set objMail = objOutlook.CreateItem(olMailItem)
With wsMail
objMail.To = "ここにメールアドレス" '宛先(To)
objMail.CC = "ここにメールアドレス" '宛先(CC)
objMail.BCC = "ここにメールアドレス" '宛先(BCC)
objMail.Subject = .Range("C2").Value '件名
objMail.BodyFormat = olFormatPlain 'メールの形式
objMail.Body = .Range("C3").Value '本文
objMail.Send '送信
End With
Set objOutlook = Nothing 'あとしまつ
MsgBox "送信完了"
End Sub
Outlookでメール送信:前提条件
パソコンに Outlook がインストールされていて、メールアカウントの設定がしてあり、メールが使える状態であること。
Outlook を操作する際には 参照設定の追加が必要。
Outlookでメール送信:参照設定の追加
ツール > 参照設定 から
Microsoft Outlook 〇〇.〇 Object Library を探して ✓ し OK
Outlookでメール送信:シート名を指定
ここで「sheet1」を指定
Set wsMail = ThisWorkbook.Sheets("Sheet1")
Outlookでメール送信:宛先メールアドレス
ここで宛先メールアドレスを指定
objMail.To = "ここにメールアドレス" '宛先(To)
objMail.CC = "ここにメールアドレス" '宛先(CC)
objMail.BCC = "ここにメールアドレス" '宛先(BCC)
Outlookでメール送信:件名 / 本文
件名は「C2」セルから取得
objMail.Subject = .Range("C2").Value '件名
本文は「C3」セルから取得
objMail.Body = .Range("C3").Value '本文