スポンサードリンク

Excelでステップメールを送信するプログラム。

いよいよExcelからステップメールを送信するVBAプログラムを作成してみましょう。

今回の課題では、以下のようなステップメールを送信できる機能を実現します。

【完成図】
(1)ワークシート「送信」のC列で、ステップを指定できるようにします。

mail-330.gif

ステップとは、今どの段階までメールを送信済みか表します。
・0の場合は新しい読者 まだメールは未送信
・1の場合は、1回目のメールは送信済み

ステップの数値は、ランダムに入力してかまいません。

でも、あらかじめ準備した文章のテキストファイル数と一致させる必要があるので、0〜10 の範囲内で指定してください。

また実際にステップメールを送信する時には、ワークシート「送信」のC列に「+1」した値を使います。

ステップに入力されているのは、「送信済み」の値なので、新しいメールは次の値になるからです。


(2)ワークシート「文章」では、メールの本文中に挿入するテキストファイル名(B列)と、メールの件名に挿入するタイトル(C列)を指定できるようにします。

mail-331.gif

*タイトルは、全て入力してください。
*テキストファイル名は、フルパスで指定します。

フルパスで指定することで、ファイルはどこに保存しても添付できるメリットがあります。


(3)ワークシート「送信」に切り替えると、ユーザーフォーム「frm送信」が自動的に表示されます。

以下のように入力して、メールを一括送信できるようにします。

mail-332.gif

・行番号と最大ステップには、初期値が入力される。
・送信するメールの範囲を指定できるようにする。
・メールは1通でも送れるようにする。
・最大ステップを指定できるようにする。
・件名に、氏名とタイトルを挿入できるようにする。
・本文に、氏名と文章を挿入できるようにする。
・文章はステップによって自動的に変わる。
・添付ファイルの機能は、そのまま残す。

最大ステップを指定する理由は、メールを送信する度にワークシート「送信」のステップをカウントアップしますが、用意したファイル数の10を超えないように、プログラム側で制御するためです。

例えば、ステップが既に10の人には、これ以上メールが配信されないようにします。

送信フォームの件名と本文に入力する文字列を掲載しておきます。動作確認の際にご利用ください。

・件名

[氏名]様 [タイトル]


・本文

[氏名]様

こんにちは。○○です。
本日はメールマガジンをお届けします。

[氏名]様のお役に立てれば幸いです。

[文章]

最後までお読みいただき、ありがとうございました。
株式会社○○



メール本文のテキストボックスを詳しく見てみましょう。

(4)挿入タグを使い、本文に氏名を自動的に挿入できるようにします。

mail-333.gif

*同じ挿入タグは、何回でも使えます。


(5)どのステップメールでも共通する部分(ヘッダーやフッター)は、ユーザーが自由に入力できるようにします。

mail-342.gif


(6)挿入タグを使い、ステップごとに指定したテキストファイルを読み込んで、メール本文に「文章」を挿入できるようにします。

mail-335.gif

*ここがステップメールで一番大事な部分です。


以上がメール送信に関する部分です。


次は送信されたメールが、どのように届くか見てみましょう。
以下は Outlook Express のようなメーラーで受信した場合です。

(7)メールの件名に、氏名やタイトルが自動的に挿入されています。

mail-336.gif

*もし添付ファイルを指定してあれば、添付されます。


各メールを開いて、中を詳しく確認してみます。

(8)メール本文に氏名が自動的に挿入されています。

mail-337.gif


(9)共通するヘッダー部分です。

mail-343.gif


(10)テキストファイルから読み込んだ文章が、メール本文に挿入されています。

mail-339.gif

宛先のステップごとにメールの本文がちゃんと変わります。


(11)共通するフッター部分もちゃんとあります。

mail-340.gif


(12)正常に送信が完了すると、ワークシート「送信」のステップ(C列)が、自動的にカウントアップします。

mail-341.gif

ただし、最大ステップを超えないようにします。


【課題の手順】
プログラミングの手順は、「メール送受信.xls」の場合とほとんど同じです。したがってメール送信の復習を兼ねています。

課題は、以下の順番で行なってください。
・「ステップメール.xls」を開く *マクロを有効にする
・VBEを起動する 「Altキー」+「F11キー」
・「cmd送信」クリック時のプログラムを、一部変更する
・動作確認


以上の図と説明を見ただけで、ステップメールの課題を作成できれば、かなりプログラミングが上達しています。

まずは自力で挑戦してみてください。もし出来なくても、自分の頭で考えてみることが大切です。

ステップごとに挿入する「文章とタイトルをどう扱うか」というのがポイントです。

次回にヒントを掲載します。


【補足】
今回の課題では、ステップごとの時間間隔までは考慮していません。

通常、ステップメールでは、次のステップを送信するまでの時間間隔(1日後、3日後、7日後など)を設定できるものがあります。

でもそこまでの機能を加えると、プログラムが複雑になるので、課題としては難しいと思い、今回は省きました。

したがって、ユーザーが送信作業を行なう間隔が、そのままメール送信間隔になります。

また、ユーザーが「メール送信」ボタンをクリックする度に、ステップが更新されるシンプルな仕組みにします。

スポンサードリンク






メール送信・受信プログラミング初心者入門 TOPへ