top of page

​タグ一覧

SendOutlookMail|OutlookメールをVBAから安全に自動送信 | Excel VBA

2024年12月28日
読了時間: 2分

更新日:2026年1月1日

SendOutlookMail|OutlookメールをVBAから安全に自動送信 | Excel VBA

<概要 (Outlook)>

SendOutlookMail は、Excel VBA から Outlook を操作してメールを作成・送信するための汎用プロシージャです。

宛先・件名・本文を配列で管理できるため、定型文メールや業務通知メールの自動化に非常に向いています。


本プロシージャは Outlook を遅延バインディングで操作しているため、

開発環境ごとに参照設定を行う必要がなく、配布用マクロとしても安全に利用できます。


また、本文は一次元配列を改行結合して生成する設計になっており、

1行ずつ意味を持った文章構成をそのままコード上で表現できます。


Excel VBA Outlook送信 をシンプルかつ再利用可能な形で実装したい場合に最適な汎用プロシージャです。


<実行例>

 簡単な実行例のコードを下記に示します。

 これを実行すると、Outlookのメール送信の画面が出てきて後は人が確認して送信ボタンを押せばメールが送信されます。


 この実行例の場合は、第7引数のAutoSendingがデフォルトでFalseしているのでメール送信の前に送信画面が現れるようにしております。このAutoSendingがTrue入った場合は送信画面ができずに自動的に送信されるようになり、これは複数の別々の宛先のアドレスを自動的に一括で送信する場合などは、そのような設定が必要になります。

メール送信確認画面
メール送信確認画面

 実際に業務で使えるような実装を行うとしたら、下記の画像の様にエクセルのシート上に入力フォームを用意して、セルにセルの入力といろいろ連動するような形になります。

一括送信用の入力フォーム
一括送信用の入力フォーム

<関連記事>

今回紹介しているような汎用プロシージャを部品として一元管理する方法は別記事で紹介していますので、是非このノウハウも参考にしてみてください。

コーディングを効率化する上でどんどん増やしていった汎用プロシージャ(部品)をいくら増やしても簡単に流用ができるような仕組みの構築が可能になります。


<コード>


Excel VBAによる業務自動化・ツール開発をご検討の方へ

​"脱Excel"の前に、現状のExcelの潜在能力を120%発揮してみませんか?

softex-celwareロゴ 透過 横長.png

​インボイス登録番号:T5810983887134

  • Facebook
  • Twitter
  • YouTube

©2023 softex-celware。Wix.com で作成されました。

bottom of page