※ ページの下のほうに、 マクロ本体と試行用のサンプルデータが付いています。

1 機能の概要

同一文面のメールを複数の人に送るが、添付するファイルは相手ごとに変える必要がある場合に使う。

例:全職員に履歴書の様式とともに、昨年の履歴書を添付して送る。

前提として、Outlookが メーラーに設定されていることが必要です。

※Outlookの設定については、こちら を参考にしてください。

2 使い方

(1)アドレス帳を作成する。

メール一括送信マクロに付いている「送付先シート様式」シートをコピーして、アドレス帳を作成する。

メール一括送信マクロを開くと「送付先シート様式」シートが付いている。

「送付先シート様式」シート は、下記のようになっている。

これを別のExcelブックにコピーして、下記のようにアドレス帳を作成する。

このとき、「送付先名(キー項目)」にした列が、「メール一括送信マクロ」で添付するファイルを識別するキー項目となる。

(2)メール本文をテキストファイルで用意する。

下記のような、メール本文用のテキストファイル(メール本文.txt)を用意する。

(3)共通添付ファイルを用意する。

全メールに添付する共通の添付ファイルは様式を問わない。共通ファイルは5ファイルまで添付できる。

下記のような依頼文(調査依頼通知.docx)を付ける例で、以下の説明を続ける。

(4)個別添付ファイル(xlsファイル)を用意する。

・分割マクロや、集計用ブック作成マクロで作成した個別添付ファイルを、同一種類ごとに別フォルダに格納する。個別添付ファイルには、上記(1)で作成したアドレス帳のキー項目である「送付先名」と同じ項目が含まれていることが必要。

以下は、個別ファイルを3種類用意する例で説明を続ける。

=送付物1=

上記の「販売実績(大阪).xls」を開くと下記となっている。

=送付物2=

上記の「拠点情報(大阪支店).xls」を開くと、下記となっている。

=送付物3=

※送付物3フォルダの中に「本店法人部」 「名古屋支店」のファイルが無い例で以下説明する。

上記の「社員情報(大阪).xls」を開くと、下記となっている。

(5)上記で用意した個別添付ファイルに、「宛先用プロパティ」を設定する。

①まず、「メール一括送信マクロ」を立ち上げ、「宛先一括設定」タブを開き、「処理対象フォルダ」に宛先を一括設定するフォルダを選択する。

②上記フォルダ内の各エクセルファイルの、上記(1)で作成したアドレス帳のキー項目の「送付先名」の値と、同じ値が含まれるシートを指定する。(「○行目□列目のセルの値が△△であるシート」という形で、シートを特定する。)

※複数シートのブックにも対応できるよう、シートを指定する仕様としている。

④上記で特定されたシートの「●行目■列目のセルの値を★★という宛先用プロパティ」に設定する ことにして「プロパティ追加」ボタンをクリックする。

送付物1フォルダ内の各ファイルに「宛先用プロパティ」を設定する設定例

送付物2フォルダ内の各ファイルに「宛先用プロパティ」を設定する設定例

送付物3フォルダ内の各ファイルに「宛先用プロパティ」を設定する設定例

すると、指定フォルダに格納された個別添付ファイルに、★★という宛先用プロパティ項目が設定され、その値として、アドレス帳のキー項目の「送付先名」に対応する値が設定される。

送付物1フォルダ内の「販売実績(大阪).xls」のプロパティを確認すると下記のようになっている。

以上で、メール一括送信で送付するモノの準備が完了する。

(6)メールを一括送信する。

Outlookと「メール一括送信マクロ」を立ち上げ、「メール一括送信」タブを開く。

①上記で作成したアドレス帳を「ブック指定」しシート名も「シート指定」で指定する。

②メールの件名を「件名」欄に入力する。

③上記で作成したメール本文のテキストを、「本文」欄に指定する。

④全てのメールに共通に添付するファイルを「共通添付ファイル」として指定する。

共通添付ファイルは5ファイルまで添付できる。

⑤宛先ごとに、添付するファイルを変える「個別添付ファイル」を、その格納フォルダで指定する。そして、格納フォルダごとに、その中のファイルの、上記で設定した宛先用プロパティを指定する。

※アドレス帳の「送付先名」の値と一致する「宛先用プロパティ」の値を持つファイルを、その送付先に送るメールに添付する。(そのフォルダ内に、該当するファイルが複数ある場合は、複数添付する。)

⑥「送付先不明メールの送り先」には、アドレス帳に宛先(TO)の指定が無い場合にメールを送付する相手のメールアドレス(多くは、発信者自身)のアドレスを入力する。

※宛先を複数指定する時は ; で区切る(Ex. xxx1@yyy.zzz;xxx2@yyy.zzz)

「直接送信する」チェックボックスにチェックを入れると、Outlookの下書きフォルダにメールの下書きを作成するのではなく、いきなりメールを送信してしまう。

下記のようになる。

⑦上記の指定ができたら、「処理実行」ボタンをクリックする。

3 実行結果

Outlookの下書きフォルダに、メールの下書きが作成される。また、アドレス帳としたExcelファイルには、「添付結果一覧」シートが追加される。

Outlookの「下書き」フォルダ

アドレス帳としたExcelファイルの「添付結果一覧」シート

大阪支店あてのメールを開くと下記となっている。

本店法人部あてのメールを開くと下記となっている。 (「社員情報」の添付ファイルはもともと無いので添付されていない。)

内容に間違いが無いことを確認して、発信する。

4 ダウンロード

下記からマクロ本体とサンプルデータをダウンロードしてお試しください。

マクロ本体

1103 Downloads

試行用サンプルデータ

840 Downloads

【注意 】下記のコンパイルエラーが発生した場合の対処方法

これは、 たとえば、Excel 2010で作成したマクロをExcel 2002で実行すると、Date関数やMid関数などのいわゆる定番の関数でコンパイルエラーが発生するという現象なのですが、その対処法は、

① VBA のメニューから[参照設定]ダイアログを呼び出し、

②「参照不可: ライブラリ名」となっているライブラリが無いかを確認し、

③ もしあったら、チェックを外す。   というものです。

メール一括送信マクロでは、 「参照不可:Microsoft Word 16.0 Object Library」 となることがあるようなので、そのチェックを外してください。これで、今のところ例外なく、エラーが消えています。