メールの本文に、商品名と金額を自動挿入するプログラム。

今回は、Excelから送信するメールの本文に、「商品名」と「金額」を自動的に挿入するVBAプログラムを作成してみましょう。

以下のようなメールを送信できるようにします。
mail-186.gif

商品名と金額が表示され、金額は「桁区切り」がちゃんと行なわれています。

プログラミングの手順は、「氏名」挿入の場合とほとんど同じです。したがってReplace関数を使った置換の復習を兼ねています。

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

また以下にヒントを掲載します。

これらのヒントを見ただけで、本文に商品名と金額を自動的に挿入するVBAプログラムができたら、合格です。

■ワークシート「送信」に、C列、D列、E列を追加する
mail-185.gif

都道府県、商品名、金額は適当でかまいません。

E列は単純に数値を入力します。「桁区切り」や「通貨」は設定しないでください。
○ 69800
× 69,800

「桁区切り」は、プログラムの中で行なうからです。


■プログラムのヒント
(1)変数名
商品名 itemName 文字列型
金額 price 文字列型

変数price のデータ型は、String(文字列)型にしてください。金額の桁区切りを表示するためには、数値型より文字列型のほうが、都合が良いからです。


(2)セルの値を取得する例

Range("D" & pos).Value


変数posには、行番号が入っています。


(3)桁区切りを表示する

Format(CLng(price), "##,##0")


CLngで長整数型(数値型)にした後に、Format関数で書式を整えています。


(4)挿入タグ(検索文字列)は、次のようにしてください。
[氏名]、[商品名]、[金額]


(5)自動挿入するためには、Replace関数を使って置換します。


上記のヒントを参考にプログラムを組み立てます。


次は動作確認のヒントです。

■送信フォームに入力する文字列
mail-187.gif

・件名

[氏名]様 ご注文ありがとうございます。


・本文

[氏名]様

この度は○○をご利用いただき、誠にありがとうございます。
[氏名]様が、今回ご注文いただいた商品は、以下の通りです。

・商品名 [商品名]
・金額 [金額]円




■メーラーで受信
mail-186.gif


どうですか?商品名と金額の自動挿入は、上手くプログラミングできたでしょうか?

どうしても自動挿入(置換)がわからない場合は、ステップを戻り、もう一度読んで、参考にしてください。

スポンサードリンク

スポンサードリンク






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