以下のようなメールを送信できるようにします。
商品名と金額が表示され、金額は「桁区切り」がちゃんと行なわれています。
プログラミングの手順は、「氏名」挿入の場合とほとんど同じです。したがってReplace関数を使った置換の復習を兼ねています。
課題は、以下の順番で行なってください。
・「メール送受信.xls」を開く *マクロを有効にする
・ワークシート「送信」に列を追加する
・VBEを起動する 「Altキー」+「F11キー」
・「cmd送信」クリック時のプログラムを、一部変更する
・動作確認
また以下にヒントを掲載します。
これらのヒントを見ただけで、本文に商品名と金額を自動的に挿入するVBAプログラムができたら、合格です。
■ワークシート「送信」に、C列、D列、E列を追加する
都道府県、商品名、金額は適当でかまいません。
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関数を使って置換します。
上記のヒントを参考にプログラムを組み立てます。
次は動作確認のヒントです。
■送信フォームに入力する文字列
・件名
[氏名]様 ご注文ありがとうございます。
・本文
[氏名]様
この度は○○をご利用いただき、誠にありがとうございます。
[氏名]様が、今回ご注文いただいた商品は、以下の通りです。
・商品名 [商品名]
・金額 [金額]円
■メーラーで受信
どうですか?商品名と金額の自動挿入は、上手くプログラミングできたでしょうか?
どうしても自動挿入(置換)がわからない場合は、ステップを戻り、もう一度読んで、参考にしてください。