ポケ5
-
最近の投稿
カテゴリー
メタ情報
【Excelマクロ(VBa)】フォームの作成
ユーザーフォームの挿入
VBaで開発する場合、ワークシート上にボタンを設定しても問題なく動きますが、システムらしくフォームを作成して処理をした方が見た目にもスマートです。
例えばログイン画面 → メニュー画面へ遷移する場合は、それぞれのフォームを作成してボタンを押すと次の画面へ遷移する・・といったように使い勝手が良くなります。
ユーザーフォームを作成するには、下記のようにプロジェクトエクスプローラー画面上で右クリックし、[挿入]-[ユーザーフォーム]を選択します。
初期画面は下記のように表示されます。
フォームの作成・変更
フォームのサイズ(高さ・幅)を変更するには、画面の端にカーソルを合わせて左クリックを押しながらスライドさせて調整すれば簡単に変更できます。(プロパティでも変更可能)
プロパティを表示するには、フォーム上で右クリックして[プロパティ]を選択します。
プロパティを下記のように変更すると・・・
下記のように変更できました。
個人的な趣味かもしれませんが、オブジェクト名の先頭には、そのオブジェクトが何か分かるようにしてます。
(例えば、フォームならばfrm~、コマンドボタンならばcmd~、テキストボックスならtxt~など)
サンプル:ログイン画面のフォーム作成
先程のログイン画面では、下記のようにツールボックスの中から3つのアイテムを使っています。
コマンドボタン・テキストボックスのサイズがそれぞれバラバラだと見栄えが悪いので、プロパティ画面からHeight、Widthを合わせましょう。位置も、左揃えであればLeft、高さであればTopで合わせましょう。
ご参考までに、ログインボタンのプロパティは下記の通りです。
また、パスワードのテキストボックスですが、入力すると「*」表示されるのが一般的なように、こちらも仕様を合わせてみました。PasswordCharの値に「*」をセットする事によって簡単に実現できます。