もしあなたがメールを受信した時に、件名に自分の名前が入っていると、とりあえず読んでみますよね?
このようにメールの件名に氏名が入っていると、メールを開封して読んでもらえる確率がアップします。
またメールの本文中に、氏名を自動挿入することで、個々に作成したメールのようになり、親しみのある文章になります。
実は氏名を自動的に挿入するVBAプログラムは、とても簡単です。
今回は簡単なので、VBAプログラムの変更と動作確認を一気に行ないます。
【1】Excelのファイル「メール送受信.xls」を開きます。
*マクロを有効にする
【2】VBEを起動します。
*「Altキー」+「F11キー」
【3】フォーム「frm送信」を選択し、「コードの表示」ボタンをクリックします。
【4】「cmd送信」クリック時のプログラムを、一部変更します。
赤枠で囲った2行を追加するだけです。
'件名
subj = Me.txtSubject
subj = Replace(subj, "[氏名]", tName)
'本文
body = Me.txtBody
body = Replace(body, "[氏名]", tName)
変更点は、たったこれだけです。とても簡単ですよね。
既に件名や本文中に、氏名を自動挿入できるようになっています。
【5】プログラムを変更したら、VBEを保存して閉じてください。
続いて動作確認を行ないます。
【6】ワークシートを「送信」に切り換え、フォーム「frm送信」を表示します。
【7】行番号を指定し、送信先を決定してください。
【8】件名を次のように入力します。
[氏名]様 ご注文ありがとうございます。
*[ ] は必ず半角で入力します。
上記の件名をコピー&ペーストで、テキストボックスに貼り付ける場合は、コツがあります。
テキストボックスでは、マウスのコンテキストメニュー(右クリック)が使えないので、キーボードから「Ctrlキー」+「Vキー」で貼り付けてください。
この [氏名] の部分が、Excelワークシートの氏名に置換されます。
【9】本文を次のように入力します。
[氏名]様
この度は○○をご利用いただき、誠にありがとうございます。
[氏名]様が、今回ご注文いただいた商品は、以下の通りです。
*改行は「Enterキー」です。
*コピー&ペーストする場合は、同上。
[氏名]の部分が複数あった場合は、全て置換されます。
【10】準備が出来たら、メールを送信します。
【11】いつもと同じ様に送信できました。
【12】行番号を変更して送信先を変え、何件かメールを送信してみてください。
件名、本文は同じでかまいません。メールを送信すると、[氏名]の部分が自動的に変わります。
【13】送信が済んだら、フォームを閉じます。
【14】Excelのファイル「メール送受信.xls」を終了してください。
次は、送信したメールが、ちゃんと届いているか確認します。
Excelから送信したメールを Outlook Express のようなメーラーで受信してください。
【15】メールが届いています。
それぞれの氏名が、件名に反映されていることを確認してください。
メールが届くまでには、数分かかることもあります。もし届かない場合は、しばらく待ってから、もう一度受信してください。
【16】メールの本文も確認してください。
・山田さん宛て
・田中さん宛て
送信先によって、氏名が自動的に変わっています。
また [氏名] の部分が複数あっても、全て自動的に置換されていることが確認できます。
文字列を置換するプログラムの解説は、次のステップで行ないます。
だんだんExcelでメール送信するメリットが、見えてきたのではないでしょうか?
このようなことは、普通のメーラーでは出来ません。だからプログラミングする価値があるのです。

