第2章では医薬品の新規登録画面を作成していきます。

 

医薬品の新規登録画面ではユーザーフォームへデータを読み込ませたり、登録したデータの保存方法などについて解説していきます。

 

この章を理解できればその後はスムーズにいくと思いますよ。どれも重要なものばかりなので頑張ってついてきて下さいね。

ラベル、テキストボックス、コンボボックスを配置する

vba2-1-1実際使用する時は上のような画面になります。

 

一気にコントロールが増えましたね。この画面ではラベル、ボタンに加え、今回はじめて登場するテキストボックスコンボボックスも配置していきます。

 

ですが心配しないで下さい。基本的にやる事は変わりませんから大丈夫ですよ!

 

vba2-1-2上の画像はVisual Basic上の画面です。これを参考に配置していきましょう。

 

まずはおなじみ上部メニューの「挿入→ユーザーフォーム」。これはこの前と一緒ですね。

 

そしてユーザーフォームのオブジェクト名を「frmDRegister」、captionを「医薬品の新規登録」とします。DはDrugの頭文字からとっています。

 

続いて無地の黄色いラベル医薬品の新規登録のラベルを作成します。

 

この2つはメニュー画面の日本病院持参薬鑑別システムとやり方は同じなので省略します。BackColorのパレットの色を今回は黄色にしただけですね。

 

忘れてしまった方はVBA講座1-4をもう一度読んでおいてください。

 

次に薬品名、一般名、識別記号、薬効、採用区分、単位、同成分薬①、同成分薬②、同成分薬③、同成分薬④、同効薬①、同効薬②、同効薬③、同効薬④のラベルを作成します。

 

Captionの値を上記にするだけで特別な事は何もありません。

 

位置は画面を参考に大体でいいので配置してください。毎回言っていますが、後で調整しますので適当で結構です。

 

vba2-1-3それではテキストボックスを配置していきます。テキストボックスはシステム使用者にフリーで入力してもらう箱です。

 

まずは薬品名ラベルの横にテキストボックスを配置しましょう。ツールボックスのテキストボックスをクリックします。

 

vba2-1-4配置の仕方はラベルやボタンと一緒です。上の画像を参考に適当に配置してください。

 

vba2-1-5続いてプロパティウィンドウを見て下さい。オブジェクト名をtxtDnameとでもしましょうか。以上でOKです。

 

テキストボックスはシステム利用者が入力しますし、コンボボックスはシステム作成者が予め設定して、そこから選んでもらう形になります。

 

そのため両者にはCaptionの項目はありません。

 

vba2-1-6では続いてコンボボックスを配置します。コンボボックスは採用区分と単位の2つの場所のみに配置します。

 

それではツールボックスでコンボボックスをクリック。

 

vba2-1-7まずは採用区分ラベルの横に配置します。プロパティウィンドウでオブジェクト名をcboKubunとします。

 

それでは同じように他のテキストボックス、コンボボックスを配置してみましょう。

 

フリーで入力するテキストボックスと違い、あらかじめ設定された候補から選択するのがコンボボックスです。

 

位置は大体で結構です。後で調整しますから。オブジェクト名は上の画像を参考にしてください。

 

オブジェクト名は全部英語でいこうかと思いましたが、区分とかは英語だとかなり長くなり、ちょっと面倒臭いので日本語を絡めてしまいました(笑)。

 

今回は初心者講座ということもありますので、できるだけわかりやすい名前でいきましょう。

 

あとはボタン3つ。上から順番にいきます。

・「医薬品引用」ボタン

オブジェクト名:btnSearch Caption:医薬品引用

・「登録」ボタン

オブジェクト名:btnRegister Caption:登録

・「閉じる」ボタン

オブジェクト名:btnClose Caption:閉じる

このように設定して下さい。オブジェクト名とCaption以外はいじらなくてOKです。

コントロールを整列する方法

vba2-1-9上の画像のラベルを見て下さい。横にずれていますし、縦もラベル同士の間隔が均等ではありませんので、とっても見栄えが悪いですよね。

 

これを手作業で1個ずつ修正するのは結構大変です。ていうか、やってられません。日が暮れます。

 

では一発で調整する方法をご紹介します。

 

vba2-1-10一番上の薬品名の左上くらいでマウスを左クリックし、クリックしたまま同成分薬④の右下くらいまで移動して離して下さい。

 

vba2-1-12ラベルが全て選択されました。

 

他のやり方としては、Ctrlキーを押しながら1つずつクリックしてもOKです。途中のラベルをチェックしたくない時などはそのように行います。

 

vba2-1-13この状態で上部メニューの「書式→整列→右」と選択すると…

 

vba2-1-14ラベルの横が整列されました。今回はラベルの右側にテキストボックス、コンボボックスを配置するため右に合わせて整列しています。

 

さて、整列したのはいいのですが、どのラベルが基準になっているでしょうか?

 

一つだけ白い□で囲まれているラベルがありますね?一番上の薬品名ラベルです。ラベルは白い□で囲まれているものを基準に整列されます。

 

vba2-1-15今回は先頭のラベルを基準にしましたが、もし上から4つ目の薬効ラベルを基準にしたいということであれば、Ctrlを使います。

 

Ctrlを押しながら薬効ラベルをクリックするとチェックが外れます。

 

そして薬品名ラベルをクリックしてチェックを外し、また薬品名ラベルをチェック、最後に薬効ラベルをクリックすると、薬効が白い□で囲まれました。

 

この状態で整列すると薬効を基準に整列されます。必要に応じて使い分けてください。

 

それでは続いて縦の整列を行いましょう。

 

vba2-1-16先ほどと同じようにラベルを全て選択して下さい。そして「書式→上下の間隔→間隔を均等にする」を選択。

 

縦の間隔が均等になりましたね。この時の基準は一番上と一番下のラベルになります。

 

2つの位置さえきちんと決めてしまえば、後は適当に配置して最後に「間隔を均等にする」でOKです。

 

テキストボックス、コンボボックスも同じ方法で整列させて下さい。やり方は今と全く同じです。

デフォルトの入力モードを設定しましょう

では最後にテキストボックスの入力モードについて説明します。どれでもいいのでテキストボックスを選択して、プロパティウィンドウを見て下さい。

 

vba2-1-17その中でIME Modeっていうのがあると思います。これはひらがな、直接入力など、入力モードの設定をする部分になり、デフォルトの入力モードを決めることができます。

 

多く使用されるのは

3-fmIMEModeDisable:直接入力

4-fmIMEModeHiragana:全角ひらがな入力

5-fmIMEModeKatakana:全角カタカナ入力

ですね。

 

入力途中でモードはいつでも変更できますが、デフォルトで何にするか。これもスムーズな入力を行う上で重要です。

 

今回は識別記号だけ3-fmIMEModeDisable。他のテキストボックスは5-fmIMEModeKatakanaと設定します。

 

ちなみにパソコンでIME Modeを切り替える時のショートカットは以下のようになっています。

ctrlキー + カタカナ・ひらがな・ローマ字キー → 全角ひらがな
shiftキー + カタカナ・ひらがな・ローマ字キー → 全角カタカナ
半角/全角キー → 押す度に半角と全角を切り替え

知らない方がいたらこの場で覚えて下さいね。

 

vba2-1-18いちいちこんな感じで選ぶのは面倒臭いですから。

 

それではコントロールの配置と整列については以上になります。ふ~、今回はちょっと長かったですね。お疲れ様でした!

 

次回は医薬品の新規登録画面のタブオーダーを設定していきましょう。