既に作成済みのフォーム「frm送信」に、ラベルとテキストボックスを追加します。
これでメールの送信先を選んだり、件名、本文を入力できるようになります。
【1】Excelのファイル「メール送受信.xls」を開きます。
*マクロを有効にする
【2】VBEを起動します。
*「Altキー」+「F11キー」
【3】プロジェクト エクスプローラで、フォーム「frm送信」を選択し、「オブジェクトの表示」ボタンをクリックします。
*既にフォームが表示されている場合は、この操作は不要です。
【4】フォーム「frm送信」のデザイン画面が表示されました。
【5】フォームを広げ、コマンドボタン「メール送信」(cmd送信)を下へ移動します。
空いたスペースにラベルとテキストボックスを追加します。
【6】「ツールボックス」を表示してください。
ツールボックスは、メニューから、「表示」→「ツールボックス」で、いつでも表示できます。
編集作業中、ツールボックスが邪魔な場合は、閉じてください。
【7】ツールボックスの「ラベル」をクリックします。
【8】ユーザーフォームの上で、長方形を描くようにドラッグすると、ラベルが作成されます。
大きさは適当でかまいません。
ラベルが選択されたまま、次の手順に進みます。(重要)
【9】プロパティ(属性)のコンボボックスで、ラベルが選択されていることを確認し、ラベルのプロパティを、以下のように変更します。
・オブジェクト名 変更しない
・Caption 行番号
*オブジェクト名を変更しないのは、プログラムの中で使わないからです。だから自動的に付けられた名前のままでかまいません。
【10】Captionの変更は、フォーム上のラベルに反映されます。
このラベルは、テキストボックスの横に、項目名として配置するだけです。
【11】ツールボックスの「テキストボックス」をクリックします。
【12】ユーザーフォームの上にテキストボックスを作成します。
【13】テキストボックスのプロパティを、以下のように変更します。
・オブジェクト名 txtPos
*テキストボックスは、オブジェクト名をプログラムの中で使うので、しっかり名前を付けます。
以下、同じような要領で、ラベルとテキストボックスを作成していきます。
【14】ラベルを作成します。
ラベルのプロパティ
・オブジェクト名 lblMailto
・Caption 何も入力しない
このラベルは、行番号を入力した時に、送信先の氏名とメールアドレスを、自動的に表示するためのものです。
プログラムの中で使うので、オブジェクト名を付けます。Captionにある文字は消してください。
【15】ラベルを作成します。
ラベルのプロパティ
・オブジェクト名 変更しない
・Caption 件名
【16】テキストボックスを作成します。
テキストボックスのプロパティ
・オブジェクト名 txtSubject
【17】ラベルを作成します。
ラベルのプロパティ
・オブジェクト名 変更しない
・Caption 本文
【18】テキストボックスを作成します。
テキストボックスのプロパティ
・オブジェクト名 txtBody
【19】最後にフォームやラベル、テキストボックスの大きさと配置を調整します。
【20】完成したら、これまでの作業を「保存」してください。(VBEの保存)
【解説】
(1)行番号について
今回は、メールの送信先を指定するのに、Excelワークシートの行番号を指定する方法にしました。理由は、この方法が一番シンプルだからです。
他にも、コンボボックスやリストボックスで、選択できるようにする方法などが、考えられます。
(2)ラベルについて
ラベルは、ただ表示に使うだけのものと、プログラムから操作し文字を表示するものがある点に注目してください。
プログラムから操作する場合は、ちゃんとオブジェクト名を付けるのがポイントです。