Script事業案内エクセル以外ホームマクロVBAユーザーフォーム入門フォームのプロパティ最終更新日:2019-12-15第2回.フォームのプロパティユーザーフォーム入門として基礎から解説します。フォームのプロパティの主要なものについて説明します。フュームの全プロパティプロパティはたくさんありますね。これ全部理解するのは大変です。いずれは、全て理解するに越したことはないですが、とりあえず、以下に掲載している必要最低限のプロパティだけは把握しておきましょう。フュームの主要なプロパティ以下はフォームの主要かつ必須プロパティになります。コントロールを取得または設定します。背景色を設定することができます。BorderStyleが1の時、枠の色を設定することができます。フォームの枠に線を引くか引かないかの設定ができます。タイトルバーに表示される文字列の設定ができます。フォーム上に配置されたコントロールのコレクションを取得することが出来ます。Trueで通常の表示と操作ができます、Falseでイベントが応答しなくなります。フォーム上に配置されているコントロールの標準フォントを設定します。フォーム上に配置されているコントロールの標準の前景色を設定します。フォームの高さの設定をすることができます。StartupPositionが0(手動)のとき、ユーザーフォームが表示される水平位置を設定できます。作業ウィンドウ固定またはモードレスで表示されるように設定します。実行時には値の取得のみ行えます。フォームは作業ウィンドウ固定です。フォームはモードレスです。フォームの枠のスタイルを設定することができます。フォームが表示される時の位置を設定することができます。ユーザーが任意の値を設定することができます。StartupPositionが0(手動)のとき、ユーザーフォームが表示される垂直位置を設定できます。フォームの表示/非表示の状態を取得します。フォームの幅を設定することができます。フォームの表示する時に拡大率を設定することができます。このくらいを押さえておけば良いでしょう。フォームのサイズはドラッグで変更できますが、ドラッグでは、大雑把なサイズでしか設定できません、なかなかマウスでは細かい設定は無理ですよね。いう場合は、プロパティの数値を変更することで、正確なサイズを指定できます。サイズのプロパティは、HeightとWidthになります。ここの数値を変更することでサイズが変わります。個々のプロパティについては、説明を読んだだけでは実感がわかないものも多くあります。実際にプロパティを変更して変化した様子を確認すると覚えやすいものです。閉じる必要があります。非表示になるかアンロードされるまで、以降のコードは実行されません。モーダルの場合、バックにあるシートの操作は出来なくなります。閉じることなく、他のフォームまたはウィンドウを表示できます。オーダーに従っていません。モードレスの場合、バックにあるシートの操作が可能となります。この説明は少々分かりづらいと思います。以下でもう少し詳しく解説します。Trueモーダル表示と言います。モーダルとは、Windowsに良くあるダイアログ画面です。モーダルの場合は、ユーザーフォームが表示されている間バックのエクセルシートを操作できなくなります。Showメソッドの実行で止まり次には進みません。ユーザーフオームが閉じられると再びバックのエクセルシートを操作できるようになります。Showメソッドの次のステートメントに進みます。Falseモードレス表示と言います。モードレスとは、画面表示中に他の処理ができる表示になります。モードレスの場合は、ユーザーフォームが表示されている間バックのエクセルシートを操作できます。Showメソッドの次のステートメントに進みます。ユーザーフオームが閉じられると呼び出し側では、画面が閉じられたことを把握できません。..Showで画面が表示され、そのまま次のステートメントに進んで処理が終了した状態のままになっています。Showメメソッド実行時に表示モードを変更できます。Showメソッドには引数として、FormShowConstants列挙を指定できます。引数を省略した場合は、ShowModalプロパティに従いユーザーフォームが開かれます。Showメソッドの引数で、FormShowConstants列挙のメンバ値を指定することで、ShowModalプロパティの値に関わらず、モーダル/モードレスを指定する事が出来ます。モードレス表示モーダルとモードレスの使い分け多くの場合はモーダルで良いはずで、これが既定となっています。シートのボタン押下等でフォーム画面を表示し、フォーム画面のOKボタンでシート操作に戻る。あるこのような操作で使うのがモーダルになります。対してモードレスは、フォーム画面操作とシート操作を交互にどちらも操作したい場合に使います。シートのボタン押下等でフォーム画面を表示した後、シート操作→フォーム画面操作→シート操作→フォーム画面操作・・・このような操作を実現したい場合にモードレスを使います。・シート操作の補助機能として複数のセル範囲の選択をさせるセル範囲選択→フォームのボタン→セル範囲選択→フォームのボタンモーダル/モードレスにより、VBAの構造は大きく違ってきます。なにより設計からして全く違ってきます。モードレスの場合はシート操作ができるので、アクティブシートも随時変化します。したがって、モーダルに比べるとモードレスの方が設計が大変になる場合が多いでしょう。次回からは、フォームにいろいろな部品を追加していきます。次回お会いしましょう。Next)|VBA入門8.セルに文字を入れるとは(Range,Value)|VBA入門9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説10.ひらがな⇔カタカナの変換|エクセル基本操作ホームマクロVBAユーザーフォーム入門フォームのプロパティこのサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。GASスプレッドシート入門スプレッドシート応用GAS入門GAS応用ホームマクロVBAユーザーフォーム入門フォームのプロパティこのサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。