テンプレート(単票フォーム編)
新規登録・編集・照会など、単票形式で使うフォームすべての土台となるテンプレートです。画面サイズ・ボタン配置・プロパティ設定をあらかじめ統一しておくことで、新しいフォームを作るたびに一から設定する手間をなくし、操作感の統一とシステムの完成度を両立させます。
テンプレート(単票)の完成形
このテンプレートをコピーして中身を入れ替えるだけで、統一されたフォームが作れます。
テンプレート(単票)フォームビュー
フォームの構成
| 構成要素 | 内容 |
|---|---|
| フォームヘッダー | タイトルラベルを配置。背景色はシステムのテーマカラー |
| 詳細部 | コントロールを配置するエリア。PC最小画面サイズに合わせたボックスを設置 |
| フォームフッター | ボタンを3〜4個配置。右端に閉じるボタンを固定 |
テンプレート(単票)デザインビュー
デザインビューの構成
| 構成要素 | 内容 |
|---|---|
| タイトル | ヘッダー左端に固定配置 |
| 詳細部のボックス | スクロールバーが出ないサイズの基準枠 |
| フッターのボタン | 左側に機能ボタン3個・右端に閉じるボタン |
テンプレート(単票)の作り方
1. フォームデザインを新規作成する
- タブバーの「作成」をクリック
- リボンの「フォームデザイン」をクリック
2. タイトル・ヘッダー・フッターを配置する
- タブバーの「フォームデザイン」をクリック
- リボンの「タイトル」をクリック(フォームヘッダー・フッターが表示され、ヘッダーにタイトルが配置される)
- タイトルと一緒に配置される「ロゴ」を削除する
- タイトル左端のマークをクリックしてロゴとタイトルを範囲指定
- 「配置」タブ→「レイアウトの削除」でロゴだけ削除
タイトルのプロパティ設定
| 項目 | 設定値 |
|---|---|
| 名前 | タイトル |
| 標題 | タイトル |
| 幅 | 10cm |
| 高さ | 0.7cm |
| 上位置 | 0.15cm |
| 左位置 | 0.5cm |
| フォント名 | メイリオ |
| フォントサイズ | 12 |
| 上余白 | 0.05cm |
3. フッターにボタンを配置する
- タブバーの「フォームデザイン」をクリック
- リボンの「ボタン」をクリック
- フッター部に適度なサイズでボタンを配置
- ボタンウィザードが起動したらキャンセルで閉じる
- 同じ手順でボタンを3〜4個横並びに配置する
ボタンのプロパティ設定
| 項目 | 設定値 |
|---|---|
| 標題 | 空欄 |
| 幅 | 2.5cm |
| 高さ | 0.7cm |
| 上位置 | 0.15cm |
| フォント名 | メイリオ |
| フォントサイズ | 9 |
4. 詳細部に四角形ボックスを設置する
詳細部に四角形を配置して「コントロールを収める基準枠」を作ります。この枠内にコントロールを配置することで、PC最小画面でもスクロールバーが発生しない設計になります。
- タブバーの「フォームデザイン」をクリック
- リボンの「四角形」をクリック
- 詳細部に四角形を配置する
四角形ボックスのサイズ設定の注意点
| 注意点 | 内容 |
|---|---|
| 基準サイズ | ヘッダー・フッターの高さを1cmに仮設定してからサイズを決める |
| 調整方法 | デザインビューとフォームビューを行き来してスクロールバーが出ないサイズに合わせる |
| フォームの幅・詳細の高さ | ボックスを小さくした場合は必ずフォーム全体のサイズも合わせる |
| 参考サイズ | 13.3インチ・解像度1920×1080のPCでヘッダー・フッター高さ1cmの場合:幅40.2cm×高さ16.2cm |
「この枠内に収まるようにコントロールを配置する」という視覚的な基準になります。スクロールバーが出るか出ないかをフォームビューで確認しながら調整するだけなので、ピクセル単位で悩む必要がありません。
フォームのプロパティ設定
フォームを作るたびに設定する手間をなくすため、このテンプレートにあらかじめ標準設定を組み込んでいます。
テンプレート(単票)プロパティシート
書式タブの設定
標準装備タブの設定値の変更
| 項目 | 設定値 | 理由 |
|---|---|---|
| レコードセレクタ | いいえ | 非連結フォームのため不要。見た目をスッキリさせる |
| 移動ボタン | いいえ | 自作マクロで制御するため標準ボタンは不要 |
| コントロールボックス | いいえ | マクロで画面遷移を制御するため予期せぬ操作を防ぐ |
| 閉じるボタン | いいえ | 閉じる処理はマクロで確実に実行させるため |
| スクロールバー | 水平/垂直(デフォルト) | 将来的に小さい画面で運用する際の保険として残す |
| 追加の許可 | いいえ | テーブル直書きを防ぎクエリとマクロで整合性を保つ |
| 削除の許可 | いいえ | 誤削除防止。削除はマクロを通じて実行させる |
| 更新の許可 | はい |
四角形ボックスで画面サイズを決めていますがあえてスクロールバーはデフォルトの「水平/垂直」のままにしています。通常運用では表示されない設計ですが、将来的に小さい画面のPCで運用することになった際に操作不能になるリスクを防ぐ保険として残しています。(通常運用では「水平/垂直」していても表示されません)
フォーム右上の×ボタンを非表示にしています。一部のフォームは閉じる際に一時データの削除・ログの記録・入力チェックなどの後処理をマクロで実行しています。×ボタンで閉じられるとこれらがスキップされてデータ不整合が起きるリスクがあるためです。
閉じるボタンの設定
テンプレートにデフォルトで設置している閉じるボタンにはM99共通マクロの閉じるサブマクロを設置しています。カレントフォームを閉じるため、このテンプレートから作ったすべてのフォームでそのまま使えます。
閉じるボタンのプロパティ設定
| 項目 | 設定値 |
|---|---|
| 名前 | 閉じる |
| 標題 | 閉じる |
| クリック時 | M99共通.閉じる |
M99共通マクロの閉じるサブマクロはカレントフォームを閉じる設定のため、フォーム名を指定する必要がありません。このテンプレートから作ったすべてのフォームで同じボタン設定がそのまま使えます。
フォームごとに同じ処理のマクロを個別に作ると、マクロの数が際限なく増えて管理が大変になります。M99共通マクロはどのフォームでも使い回せる処理をサブマクロとして一箇所に集約したものです。コントロール名を統一しておくことでフォームを問わず同じ[…]
テンプレートからフォームを展開する
テンプレート(単票)から作成したフォーム例
テンプレートをコピーして実際のフォームに仕上げる手順です。
- フォーム「テンプレ単票」をコピーして新しいフォーム名で貼り付ける
- デザインビューで開いてプロパティシートに標題を設定する
- タイトルラベルの標題をフォームの用途に合わせて変更する
- 詳細部のボックス内にコントロールを配置する
- フッターの空ボタンに機能を設定する(不要なボタンは削除する)
まとめ
単票フォームのテンプレートをあらかじめ用意しておくことで、新しいフォームの作成はコピーと中身の入れ替えだけで完結します。画面サイズ・ボタン配置・プロパティ設定が統一されているため、どのフォームを開いても同じ操作感で使えます。閉じるボタンにはM99共通マクロを設置しているため、個別の設定も不要です。この「型」を持つことがシステム全体の操作性と開発効率を支える基盤になります。
このページでは、あらかじめ用意した「テンプレポップアップ」フォームをベースに、従業員マスタの新規登録フォームを実際に作る手順を紹介します。テンプレートを使うことで、書式や基本設定を一から組み立てる手間を省きながら[…]
本サイトではマクロを用いた構築手順を中心に紹介していますが、決してマクロを唯一の正解として推奨しているわけではありません。VBAが扱える環境であれば、より多彩で柔軟なプログラムが組めるVBAでの構築をむしろ推奨したいと考えています。
ここでマクロという選択肢を提示しているのは、VBAにハードルを感じている方への「もう一つの入り口」として、また将来的な後継者への引き継ぎ負荷を抑えるという実務上のメリットを考慮してのことです。設計の考え方の一つとして、状況に合わせて活用してください。