【VBA】Excel VBAでOutlookのメールを作成する方法

エクセル(VBA/マクロ)

説明

Excel VBAでOutlookのメールを作成する方法を紹介します。

Outlookでメールを作成するとき、毎日の日報を送付するとき、一括でポンと送付出来たらいいなぁなんて思うことはありませんか?
毎回はExcelからメールを送付することができるコードを紹介しちゃいます!
Excel マクロでコードを組めば簡単に作成することができます。
この記事を参考にぜひ挑戦してみてください。

まずは以下の通りに項目に沿って進めていきたいと思います。

  • 事前準備
  • メール作成
  • コード入力

事前準備

Excel VBAでOutlookを操作するには以下のライブラリにチェックがついている必要があります。
 『Microsoft Outlook 1x.0 Object Library』
 こちらの設定からまず始めていきましょう。

□設定手順
  ①『開発』タブから『Visual Basic』を押下します。

 ②『ツール』タブ⇒『参照設定』をクリックします。

 ③表示された『参照設定 – VBAProject』の『参照可能なライブラリ ファイル』の一覧より、
  『Microsoft Outlook 1x.0 Object Library』のチェック ボックスをオンにし、OKボタンを押します。

これで事前準備はOKです。
この作業を行っておかないと後ほどコードを実行した際にエラーが起きてしまうので注意しておきましょう。

メールの作成

次はExcelでメールを作成しておきます。
定型文などがあればそちらを使用してかまいません。
今回は「Sheet1」にサンプルメールを下記画像のように作成しました。

コード

Excel VBAでOutlookのメールを作成する。

事前準備とメール作成が完了したので早速コードを入力していきます。
モジュールを追加してそこにコードを入力していきます。
『挿入』タブから『標準モジュール』を選択します。

そうすると左記プロジェクトにModule1が追加されたことがわかります。
こちらの中にコードを記載していきます。

今回記入するコードは以下の通りです。

Sub メール作成()

    ' ##Outlook用変数の宣言
    Dim objOutlook As Outlook.Application  'Outlookオブジェクト生成
    Dim objMail As Outlook.MailItem
    Set objOutlook = New Outlook.Application
    Set objMail = objOutlook.CreateItem(olMailItem)
  
  ' ##メール本文用変数の宣言
    Dim wsMail As Worksheet  'Sheet1シート用
    Set wsMail = ThisWorkbook.Sheets("Sheet1")  'Sheet1用変数に格納
    
With wsMail
    objMail.To = .Range("C2").Value 'To
    objMail.CC = .Range("C3").Value 'CC
    objMail.Subject = .Range("C4").Value    '件名
    objMail.BodyFormat = olFormatPlain  '本文のフォーマットをテキスト形式にする
    objMail.Body = .Range("C5").Value   '本文
    
    objMail.Display 'メール表示
    
End With

Set objOutlook = Nothing

End Sub


マクロ実行ボタンは簡単に作成できます。
『開発』タブ⇒『挿入』⇒『ボタン』を選択します。

適当な大きさでボタンを作ると以下のような画面が表示されます。

こちらが表示されたら『メール作成』を選択して『OK』を押してあげましょう。
そうすることで、挿入したボタンに先ほど書いたコードが紐づけられます。

それでは最後に作成したボタンを押してみましょう!


そうすると以下のようにメールが作成されます!

もしされなかったという人は何かの手順が間違っている可能性があるので最初から見直してみてください!

いかがでしたでしょうか。
今回はExcel VBAでOutlookのメールを作成する方法でした。

コメント

タイトルとURLをコピーしました