MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


【VBA】excelでメールを送信
profile-img
投稿者: ksasaさん
投稿日:2020/08/21 13:52
更新日:
like-img
分類
技術
テクノロジー
全般
キャリア
運用・保守
投稿内容

今回は、VBAを使用し、Excel上に入力したデータでOutlookを使用したメールを送信する方法を紹介します。

・事前準備

①VBEを開き、「ツール」→「参照設定」→「Microsoft Outlook XX.X Object Library」のライブラリにチェックを入れて、OKをクリックします。

②以下のような、フォーマットをExcel上に作成する。

・使用するコード

Sub Sendmail()

'変数を指定

Dim OL As Outlook.Application 
Dim OLM As Outlook.MailItem

Set OL = New Outlook.Application 'outlookを起動する操作
Set OLM = OL.CreateItem(olMailItem)  '新しいメールを作成する操作

With OLM
    .To = Range("B1")  'Toの宛先を決めます。
    '.Cc = Range("B2") 'Ccの宛先を決めますが、今回は使用しないのでコメントアウトしています。
    .Subject = Range("B3") '件名を決めます。
    .Body = Range("B4") '本文を決めます。
End With

OLM.Send 'メールを送信する操作

'以下、メールを閉じる操作

Set OL = Nothing
Set OLM = Nothing

MsgBox "送信完了"  '動作が終わってことを確認するためのメッセージを表示(必須ではない)

End Sub

・結果

B2に入れた宛先に、それぞれ入力した項目の内容を送信することができます。

・まとめ

毎日の日報に使うのがおすすめです。今回は、紹介していませんが、添付ファイルをつけることが可能なので、幅広く使用できると思います。毎回、新しいメールを作成、件名、宛先入力など、するよりかは、Excel上でフォーマットを作成して、そこからメールを送信するほうが楽だと思います。日報で日付の入力はがある場合は、Excelならtoday関数を使えばExcelを開くだけで勝手にその日の日付になるので、手間が省けると思います。

コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3