テンプレート(ポップアップフォーム編)
ポップアップフォームの土台。サイズと設定を調整して、中身を入れ替えるだけで完結する。
テンプレート(ポップアップ)の完成形
このテンプレートをコピーして中身を入れ替えるだけで、統一されたフォームが作れます。
テンプレート(ポップアップ)のフォームビュー
フォームの構成
フォームヘッダーにフォーム名、フッターに閉じるボタンだけのシンプルな構成。ここに必要なコントロールを追加していく。
| エリア | 内容 |
|---|---|
| フォームヘッダー | フォーム名ラベル(テキストのみ) |
| 詳細 | コントロール配置エリア(任意サイズ) |
| フォームフッター | 閉じるボタン |
テンプレート(ポップアップ)のデザインビュー
デザインビューの構成
ヘッダーは高さを限界まで詰めている。タイトルラベルやロゴは不要なので削除済み。
| エリア | 設定 |
|---|---|
| フォームヘッダー | 高さ0cm(タイトル・ロゴなし) |
| 詳細 | 任意サイズで設定 |
| フォームフッター | 閉じるボタンのみ |
テンプレ(ポップアップ)の作り方
1. フォームを新規作成する
- ナビゲーションウィンドウで「フォーム」を右クリック
- 「デザインビュー」で新規作成
2. ヘッダーを処理する
- フォームヘッダーエリアをクリックして選択
- ヘッダーの下端をドラッグして高さを0cmに詰める
- タイトルラベル・ロゴが残っている場合は削除する
単票と違いヘッダーにタイトルもロゴも置かない。ポップアップはフォーム名がウィンドウ枠に表示されるので十分。
3. 詳細エリアのサイズを決める
- 詳細エリアの右端・下端をドラッグして任意サイズに調整
- 用途に合わせたサイズにする(後から変更可)
4. 閉じるボタンをフッターに配置する
- フォームフッターにボタンを配置
- マクロの設定で「M99共通.閉じる」を指定
フォームのプロパティ設定
フォームを作るたびに設定する手間をなくすため、このテンプレートにあらかじめ標準設定を組み込んでいます。
テンプレート(ポップアップ)のプロパティシート
書式タブの設定
標準装備タブの設定値の変更
| プロパティ | 設定値 | 理由 |
|---|---|---|
| スクロールバー | なし | ポップアップはスクロール不要のサイズで設計するため |
| コントロールボックス | いいえ | ×ボタンを非表示にして後処理のスキップを防ぐ |
| 最小化/最大化ボタン | いいえ | ポップアップのサイズ変更を禁止する |
| 自動中央寄せ | はい | 解像度に関わらず常に画面中央に表示する |
| ポップアップ | はい | フォームをポップアップとして動作させる |
| 作業ウィンドウ固定 | はい | ポップアップを閉じるまで背後の画面を操作させない |
デフォルトは「いいえ」で左上に表示される。「はい」にするだけでモニターの解像度に関わらず常に画面中央に出る。マルチモニター環境でも位置がブレない。
ポップアップが開いている間は背後のメイン画面を操作できない。中途半端な状態でデータが保存されるリスクをゼロにできる。
閉じるボタン以外の退路を塞ぐことで、後処理のマクロを必ず通るルートに固定できる。テンプレ単票と同じ考え方。
閉じるボタンの設定
フッターに配置したボタンに「M99共通.閉じる」を設定する。
- 閉じるボタンをクリックして選択
- プロパティシート「イベント」タブ →「クリック時」に「M99共通.閉じる」を指定
- フォーム名の指定は不要
フォームごとに同じ処理のマクロを個別に作ると、マクロの数が際限なく増えて管理が大変になります。M99共通マクロはどのフォームでも使い回せる処理をサブマクロとして一箇所に集約したものです。コントロール名を統一しておくことでフォームを問わず同じ[…]
テンプレートからフォームを展開する
テンプレート(ポップアップ)から作成したフォーム例
このテンプレートをコピーして、詳細エリアにコントロールを追加するだけで実用フォームが完成する。
- ナビゲーションウィンドウでテンプレポップアップを右クリック→「コピー」
- 貼り付けて新しいフォーム名をつける
- デザインビューで詳細エリアにコントロールを追加
- 必要に応じてフォームサイズを調整
- 実行して動作確認
まとめ
テンプレポップアップは、ポップアップ動作に必要なプロパティをあらかじめ設定済みの土台フォーム。コピーして詳細エリアに中身を追加するだけで、作業ウィンドウ固定・自動中央寄せ・×ボタン非表示まで揃ったポップアップが即完成する。毎回ゼロから設定する手間をなくすのが目的。
このページでは、あらかじめ用意した「テンプレポップアップ」フォームをベースに、従業員マスタの新規登録フォームを実際に作る手順を紹介します。テンプレートを使うことで、書式や基本設定を一から組み立てる手間を省きながら[…]
本サイトではマクロを用いた構築手順を中心に紹介していますが、決してマクロを唯一の正解として推奨しているわけではありません。VBAが扱える環境であれば、より多彩で柔軟なプログラムが組めるVBAでの構築をむしろ推奨したいと考えています。
ここでマクロという選択肢を提示しているのは、VBAにハードルを感じている方への「もう一つの入り口」として、また将来的な後継者への引き継ぎ負荷を抑えるという実務上のメリットを考慮してのことです。設計の考え方の一つとして、状況に合わせて活用してください。