今回は、メール送信用と受信用のフォームを分けることにしました。そのほうがVBAプログラミングが簡単になるからです。
まずはメール送信用のユーザーフォームから作成します。
【1】Excelのファイル「メール送受信.xls」を開きます。
【2】VBEを起動します。
*「Altキー」+「F11キー」
【3】VBEのメニューから、「挿入」→「ユーザーフォーム」の順で選択します。
この画面はExcel2000です。他のバージョンでは、画面や手順が異なるかもしれません。
【4】「ユーザーフォーム」が挿入(作成)されました。
プロジェクト エクスプローラに、フォームというフォルダが表示され、ユーザーフォームが作成されていることを確認してください。
ユーザーフォーム名は、初期値のままです。
この時、ツールボックスは表示されていなくてもかまいません。
ツールボックスは、メニューから、「表示」→「ツールボックス」で、いつでも表示できます。
ツールボックスが邪魔な場合は、閉じてください。
【5】ユーザーフォームのプロパティ(属性)を、以下のように変更します。
・オブジェクト名 frm送信
・Caption メール送信
【6】変更したオブジェクト名は、プロジェクト エクスプローラと、プロパティのコンボボックスに反映されます。
【7】Captionは、ユーザーフォームのタイトルに反映されます。
【8】ツールボックスを表示し、「コマンド ボタン」を選択します。
【9】ユーザーフォームの上で、長方形を描くようにドラッグすると、コマンドボタンが作成されます。
大きさは適当でかまいません。
コマンドボタンが選択されたまま、次の手順に進みます。(重要)
【10】プロパティのコンボボックスで、コマンドボタンが選択されていることを確認します。
コマンドボタンが選択されていない時は、コンボボックスで選択するか、ユーザーフォーム上のコマンドボタンをマウスでクリックします。
オブジェクト(フォームやコマンドボタンなどの部品)が複数ある場合は、このコンボボックスにリスト表示されます。
プロパティを変更する時は、今どのオブジェクトが操作対象となっているか、確認する習慣を付けてください。
間違って、他のオブジェクトのプロパティを変更することのないように、注意してください。
【11】コマンドボタンのプロパティ(属性)を、以下のように変更します。
・オブジェクト名 cmd送信
・Caption メール送信
【12】オブジェクト名の変更は、コンボボックスのリスト表示に反映されます。
【13】Captionの変更は、コマンドボタンの表示に反映されます。
【14】ここまでの作業を保存します。
VBEのツールバーにある「保存」ボタンをクリックします。
これでメール送信用のユーザーフォームが準備できました。このフォームにVBAでプログラムを記述することになります。
【補足】
(1)名前の付け方について
オブジェクト名やCaptionは、プログラムの開発者が、自由に付けることができます。
・オブジェクト名は、プログラムの中でも使うので重要。
・Captionは何でもよい。操作するユーザーがわかりやすい表現にする。
・オブジェクト名とCaptionは、異なってもいい。
オブジェクト名は、プログラムの中で使うので、通常はアルファベットを使います。例えば、「frmSendMail」のような感じです。
でも今回はあえて「frm送信」というように、日本語を混ぜています。プログラミング初心者には、そのほうがわかりやすいからです。
メール送受信のプログラミングに集中して欲しいため、あえて日本語で分かりやすく表現しています。
(2)接頭語
オブジェクト名の先頭の「frm」はフォームであることを表しています。同じように「cmd」はコマンドボタンです。
これらは接頭語とか接頭辞と言われているもので、意味を付け加えるために使われます。
接頭語を使うと、「frm送信」「cmd送信」とあった場合でも、どれがフォームで、どれがコマンドボタンなのか、すぐに分かります。
するとプログラミングする時に楽になります。
他には、ラベルを表す「lbl」、テキストボックスを表す「txt」などが、よく使われます。