今回のツールは複数人に簡単に一括でメールを配信するツールの紹介です。 本ホームページではOutlookを利用したメール一括配信ツールもこちらのページで紹介していますが、本ページのツールはOutlookを用いず、Excelから配信するツールを作成しました。
目次
メール自動配信ツール(CDOVer)のメリット・デメリット
メリット
- 宛先の人数制限がない(何人でも送信できる)
- 個人毎に件名・本文の文字を調整・変更することができる
- 個人毎に送りたい個別のファイルを添付することができる
- PCにOutlookをインストールしていなくても使える。(Excelさえインストールされていれば・・・)
- 送信者のメールアドレスを任意で変更できる
- 送信ログを別ファイルにて確認することができる
デメリット
- メールサーバーを設定するため、設定が面倒。
- メールのオプションの設定ができない。
- メールサーバーの種類によっては、添付ファイルの拡張子によって送付できないケースがある
若干設定が面倒ですが、送信者を変更したりすることもできますので是非、こちら、ご活用ください。
またデメリットの最後は要注意です。例えば、私はロリポップのメールサーバを使っていますが、「.xlsm」は送付できませんでした・・・!
ということで、送信前には必ず!添付ファイルが送付できるかどうか確認してくださいませ!!
メール自動配信ツール(CDOVer)の概要と利用例
どのようなケースで使うのかご紹介します。 以下、早速ツールの画面です。今回のサンプルは、櫻井くん、松潤、城みちるの三人に360度サーベイの結果をフィードバックするというイメージで作ってみました。
添付ファイルについて、お三方にそれぞれ添付ファイルを送付するというケースを想定しています。 以下のフォルダの「添付ファイル.txt」は三人共に送付し、櫻井くんには「櫻井.txt」、松潤と城みちるにはそれぞれの名前のファイルを二つ送付してみます。
送付予定のファイル 櫻井くん:「添付ファイル.txt」「櫻井.txt」 松潤:「添付ファイル.txt」「松本.txt」「松本2.txt」 城みちる:「添付ファイル.txt」「城.txt」「城2.txt」
ツールを実行してみたところ、想定通り、三件メールが届きました!! 松潤のメールをサンプルで掲載しておきます。
今回のツール(CDO版)では、宛先を任意のメールアドレスに変更することが可能です。
ダウンロードリンク
以下のファイルをダウンロードしてご利用ください。
ツールの使い方(設定)について
1.Settingsシートの「メールサーバ」に設定内容を記入する
以下、Settingsシートの「メールサーバ情報」の項目です。
メールサーバ情報が結構厄介なので、ご注意ください。
項目名 | 内容 | 例 |
---|---|---|
サーバ名 |
SMTPメールサーバのFQDN名を入力してください。 |
smtp.lolipop.jp |
ポート番号 | 465 or 25 を指定します。 | 465 |
ユーザ名 | メールサーバにアクセスできるユーザ名を入力します。 社内のメールサーバーを利用している場合、ブランクでも問題ありません。ちなみに、私の会社では、不要でした。 |
xxx@abc.com |
パスワード | メールサーバにアクセスできるユーザ名に対するパスワードを入力します。 社内のメールサーバーを利用している場合、ブランクでも問題ありません。ちなみに、私の会社では、不要でした。 |
xxxxxxxxxxx |
2.Settingsシートに「メールで利用する内容」を記入する
3行目から7行目までは、メール送付に必要な情報を記載します。
項目名 | 内容 | 例 |
---|---|---|
送信者メールアドレス |
送信者メールアドレスを記載します。 |
harry123@abc.corp |
BCC | BCCで配信する宛先のメールアドレス・メーリングリストを指定します。 複数人を指定する場合、セミコロンで区切って指定してください。 |
xxx@abc.corp;yyy@abc.corp |
共通添付ファイル | 全メールに共通して添付するファイルを指定します。 ファイルについてはファイルのフルパスをすべて記載してください。 |
C:\temp\共通添付ファイル.txt |
個別添付ファイル格納先 | 後述しますが、メールごとに個別のファイルを添付することができます。 個別の添付ファイルについては、同じフォルダに格納し、そのフォルダパスを記載します。 |
C:\temp\ |
送信ログ出力先 |
送信ログを出力する仕組みとなっています。 |
C:\temp\ |
3.Mainシートの宛先情報を記入する
MainシートのA列~AN列はTOで送付する宛先を指定します。AO列~CB列はCCで送付する宛先を指定します。TO/CCともに、20名ずつ入力することができます。A列は必ず入力してください。(必須項目)
なお、OoutlookVerとの違いとして、CDO版は名前解決ができないため、必ずメールアドレスを入力してください。
グループ化していますので、必要な範囲にメールアドレスを入力してください。
4.Mainシートの送信内容を記入する
CC列~CI列はメール本体で使う情報となります。
入力内容はシンプルです。 CC列が件名の情報となります。
本文については、CD列~CI列の情報を結合して表示することになります。本文1→本文2→本文3→本文4→署名 という順番で結合することになりますので、関数(数式)を用いて楽しく結合しましょう。
CJ列以降の情報はプログラム内で一切使っていませんので、参考情報をたくさん持ってきて、メール文に活用してください。 以下では、宛先の名前から名字だけを抽出して、件名に使っています。
個別添付ファイルの設定方法
このツールの中で一番難しいのが個別ファイルの添付方法だと思います。(勝手に・・・) ということで、個別ファイルの設定方法について、詳細を記載します。 前述しましたが、Settingsシートに個別添付ファイル格納先を入力することがまず最初のステップです。
次に、どのように送信するファイルを指定していくか、をご紹介します。 送付したいファイルを振り返ると、、
送付予定のファイル 櫻井くん:「添付ファイル.txt」「櫻井.txt」 松潤:「添付ファイル.txt」「松本.txt」「松本2.txt」 城みちる:「添付ファイル.txt」「城.txt」「城2.txt」
でしたね。 格納されているCドライブのTempフォルダを見てみます。
松潤と城みちるについては、2ファイル送付しないといけないですね。 では、Mainシートに戻ります。
1ファイルだけであれば、単純にファイル名だけを入力すればOKです。 つまり、櫻井くんは「櫻井.txt」のみを入力しています。 複数ファイルを送る場合は、「;」(セミコロン)もしくは「,」(カンマ)でファイル名を区切りましょう。
送付予定のファイル→入力例
櫻井くん:「添付ファイル.txt」「櫻井.txt」→ 櫻井.txt
松潤:「添付ファイル.txt」「松本.txt」「松本2.txt」→ 松本.txt;松本2.txt または 松本.txt,松本2.txt
城みちる:「添付ファイル.txt」「城.txt」「城2.txt」→ 城.txt;城2.txt または 城.txt,城2.txt
※共通添付ファイル名はSettingsシートで記載しているため、入力する必要なし。
以上で設定は終了です。お疲れ様でした。
ツールの使い方(実行方法)について
1.メール送信ボタンをクリックします
まずはメール送信ボタンをクリックします。
2.プレビューを確認するメッセージを選択する
プレビューを行うかどうか、メッセージが表示されます。ここでいいえを選択すると、すべてのメールが一気に送信されます。
個人的にははいをクリックして、プレビューを確認してもらいたいです。
はい、をクリックすると、以下のようなプレビュー画面が表示されます。
ここで、「配信」をクリックすると、今確認しているメール(櫻井くんへのメール)が送信されます。
また「以降プレビューなしですべて配信」をクリックすると、櫻井くんのメール含め、すべて送付することができます。
「配信中止」をクリックすると、今配信しようとしているメールを含め、配信を停止します。
3.送信ログを確認する
送信ログはSettingsシートで格納先を指定しない限り、本ツールと同じフォルダに作成されます。
名称は「日付_mail.log」になってます。
送信ログと宛先、件名を表示しています。(出力内容については、今後Updateする可能性が高いです)
さいごに
差出人のメールアドレスを変更できるというのが最大のメリットです。ぜひ使ってみてください!
更新履歴
バージョン | 更新日 | 内容 |
---|---|---|
1.0 | 2021/11/28 | 初版リリース |
[…] と CDOVer の二つを既に公開しています。 […]
非常に探していたツールでした!
ありがとうございます。
エラー番号:52
ファイル名または番号が不正です
取り急ぎテストで見本通りの内容(テキスト等)行ってみているのですが
上記のエラー表示が出てしまいます。
どこを修正したら良いのか手つかずでございます。
お力添えを頂けないでしょうか。
設定内容を確認させていただきたいので、個別にメール差し上げます!harry
自分もACCESSでCDOを使ってロリポップのメールサーバでメールを送信しています。
ロリポップを使う前はCDOを使ってGmailのアドレスから送信していたのですが、
Gmailがアカウントとパスワードのみでの送信が出来なくなってしまったため、
変更しました。
Gmailから送信していた時は、CDOで送信したメールがGmailのサーバーの送信済みに保存されていたのですが、ロリポップのメールサーバでは送信済みに保存されません。
ロリポップのメールサーバーの送信済みに保存する方法をご存じではないでしょうか?
ロリポップの送信済みに送信結果を残すという意図でしょうか??
できそうになかったので、別ログ残すようにしたんですよね。。
kei
正に探し求めていたツールに出会えました!
私も最近人事に異動となり、同じ内容のメールを個別に出す機会が増えてきたので、自力でマクロを勉強開始し、やり方を模索していました。
会社のVDI環境にはデスクトップ版Outlookが無く、CDOの存在は分かったものの、汎用性のある仕様はどうしたものか…などと考えあぐね、ググりにググった先にこちらにたどり着きました。他のツールも本当に便利そうなのでありがたく使わせて頂きますね!
1つ質問です。Mainシートにて罫線は20通分引かれていますが、21通以上送信することも可能なのでしょうか??コードを拝見するに20通までに限定するような雰囲気は感じなかったので、、、もし改修が必要であればポイントを教えていただけるとありがたいです!よろしくお願いいたします!
嬉しいコメントありがとうございます!
もちろん可能です。
宛先TOのアドレス数がキーになってますので、ご自由に行を追加してください!
21通以上送れます。わたし自身21通以上送付する機会多いですよ!!
早速のご返信ありがとうございます!
下に伸ばしてOKなのですね!めちゃくちゃ助かります、、!
厚かましくも、もう3つお伺いします。(お手隙の際に教えて頂けると嬉しいです…)
・CC(TOも同様かと思いますが)途中に空白列を挟んで、再びメアドや名前が入っていたらエラーになりますか?
なぜ知りたいかというと、各部に対して
TO部長CC課長たち&私の部署メンバーたち
で送りたい時、課長たちを別シートから関数で引き充てたいのですが、そもそも各部の課長の数ってまちまちで…
CC全20名分のうち、とりあえず前10名分に関数を入れ込み(該当者がいなければ空白)、後ろ10名を手入力欄(自部署メンバー欄。値貼り付け用。)としてみたんですね。これで動くのなら非常に嬉しいなぁなんて思っております、、!
・上記の絡みでTO1人目にもスピル関数(XLOOKUP)を仕込んでおり、従ってTO1人目の最終行は#N/A…じゃなくてIFERRORを使って””(空白)にしています。これはマクロを走らせた時に読み込もうとしてエラーになってしまうんでしょうか、、、?
・添付ファイルの列に勝手にシングルコーテーションが付くようになっておりますが、これによって正しくファイル指定が出来ない、なんてことはありえますでしょうか?いじった覚えがないので、きっと大丈夫なのだろうとは思っていますが、、、
初歩的な質問かもしれなく恐れ入りますが、用途としてはあるあるかなぁとも思いますので、こんなクソガキをお助け頂けると嬉しいです、、、、、、
だいたい意味は分かったのですが、ファイルを見て解答させていただくことはできますか?別途メールします。
お疲れ様です。
以前よりcdoにて社内の連絡でメールを送信しておりますが、
社外のアドレスに送信しようとすると、アドレスが拒否されました。
554 5.7.1 という事で、送信できません。
smtpの指定は、通常のメール設定でのサーバーを
セットしています。
どうでしょうか?
ご利用ありがとうございます。
私が調べたところによると、受信する側のメールアドレスに間違いがある場合や、受信サーバー側で拒否されているケースがあるそうです。
一度ご確認いただけますでしょうか?
お疲れ様です。
早々に調査そしてご回答頂きまして有難うございます。
確かに受信拒否やメルアドの間違いも有るかと思いますが、
やはり外部の方へのメール送信をしようとしますと
サーバー接続エラーなどで、メールが送信できません。
ポート番号などもいくつか変えてみましたが同様です。
そもそもマイクロソフト側の制限のようなもので
出来ないものなのでしょうか?
社内(ドメイン内)で有れば、現在もメール送信可能です。
よろしくお願いします。
困りましたね。。ちなみに、社外の方というのは複数社ありますでしょうか?特定の会社へ送ることができないのか。。切り分けさせていただきたく。
いつも早々にご返信頂きまして有難うございます。
ほぼ全ての方が駄目です。
社内のドメイン以外のアドレスに送ろうとしても
エラーになってしまいます。
これは、もしかすると送信サーバ側の問題ではないでしょうか?
ITの方に一度相談してみてはいかがでしょう?
ちなみに私の環境では動作します。
有難うございました。
とても素晴らしいツールで何とか利用したいと考えています!
しかし、gmailで設定したところ次のエラーが出てしまいます。
SMTPサーバーはsmtp.gmail.comです。
エラー番号:-2147220975
エラーの種類:メッセージをSMTPサーバーに送信できませんでした。転送エラーコードは、0x80040217です。サーバーからの応答は次の通りです。not amailable
ご返答よろしくお願いいたします。