No.2ベストアンサー
- 回答日時:
実際にフォーム1とフォーム2を作成し、フォーム1に二つのコマンドボタンを用意して、以下のコードを貼り付けて見てください。
Private Sub Command1_Click()
Form2.Show vbModal, Me
MsgBox "vbModal"
End Sub
Private Sub Command2_Click()
Form2.Show vbModeless, Me
MsgBox "vbModeless"
End Sub
Command1でもCommand2でもフォーム2が開きます。しかしMsgBoxが表示するタイミングが変わってるはずです。
Command1の場合はフォーム2が閉じたあと
Command2の場合はフォーム2が表示されたあと
にメッセージボックスが表示されます。
つまりCommand1はShowのあとのロジックを、フォーム2が閉じるまで、未処理のままとなるわけです。
画面上はフォーム2が前面、フォーム1が背面になるどちらも似たような表示に見えますが、
Command1の場合はフォーム1はフォームをクリックしても、フォーカスを持たない
Command2の場合はフォーム1はフォームをクリックすると、フォーカスを持ちえる
という点も違います。
簡単にまとめると、
vbModalの場合はフォーム2だけに作業処理を固定させたい時に使用します。vbModelessの場合はフォーム2はポップアップ的な使用方法の時に使います。
No.4
- 回答日時:
モーダルフォームは、オプションやバージョン情報などをだす時に使います。
一度見たらあまり開かないフォームに使います。例.Excelのバージョン情報、IEのオプション等
モードレスフォームは、1つのアプリケーションで複数フォームを見たいとき使います。
例.Wordで文書新規作成
No.1
- 回答日時:
モーダルは、ほかのウィンドウがアクティブにならない。
モードレスは、アクティブになる。
画像を保存する時などに出てくるダイアログボックス(出ている時に元画像をアクティブにできない)などがモーダル。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Google Drive Google form を利用して 問い合わせフォームを作りたい 1 2022/04/25 14:15
- Google Drive Googleフォームについて(至急) 2 2022/06/28 21:45
- その他(IT・Webサービス) Googleフォームで小テストをつくり、メールアドレスを収集し、そのメアドに送ったのですが、結果が見 1 2022/10/19 13:34
- 写真・ビデオ 画像を合成すると片方がぼやけてしまいます 1 2022/09/21 20:42
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- 電気工事士 第2種電気工事士技能試験について 2 2022/12/21 20:35
- docomo(ドコモ) ドコモオンラインショップに詳しい方!! 大変困っています。 充電器を購入しましたが、不良品でした。お 3 2023/06/28 20:13
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- Access(アクセス) Accessでセレクタをダブルクリックで別フォームで詳細表示 3 2022/12/20 10:36
- 化学 混合液の濃度を求めたいですが 同じ溶液ですが濃度が違う溶液でづ 1500Lの液の濃度は:0.0665 1 2023/03/06 21:05
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
Form_Load と Form_Activate のタイミング
Visual Basic(VBA)
-
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
-
4
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
5
Excel VBAで、ユーザーフォームをモードレス表示している間、処理を止めるには?
Visual Basic(VBA)
-
6
Excel ユーザーフォームをモードレスで表示後
Visual Basic(VBA)
-
7
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
8
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
9
UserForm1.Showでエラーになります。
工学
-
10
ユーザーフォームが消えない
Excel(エクセル)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
VBの画面サイズについて
Visual Basic(VBA)
-
13
Excel VBA:フォーム←→セルのアクティブ切り替え
Excel(エクセル)
-
14
メッセージボックスの非モーダル化について
Visual Basic(VBA)
-
15
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
16
ExcelのComboboxでマウスのスクロールを有効にしたい
Excel(エクセル)
-
17
配列を関数に渡す方法
Visual Basic(VBA)
-
18
ユーザーフォームのSetFocusが働かない?
その他(プログラミング・Web制作)
-
19
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
20
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
VBAでユーザーフォームを再表示...
-
Microsoft Formsの「個人情報や...
-
Form_Load と Form_Activate の...
-
VB.NETでフォームロード中のエ...
-
クリックイベントなのに、2回ク...
-
フォームを最背面に設定したい...
-
ContextMenuStripに追加したア...
-
フォームの位置を取得したい
-
ACCESSのフォーム、開くんです...
-
[ExcelVBA] Application.Dialog...
-
ユーザーフォームのコピー?
-
子フォームから親フォーム上の...
-
ユーザーフォームのテキストボ...
-
ユーザーフォームのラベルに時...
-
エクセルのチェックボックスの...
-
VB.NET:モーダルで表示したフ...
-
モーダルフォームとモードレス...
-
孫フォームのラベルやボタンの...
-
VBAでコントロールの数をカウン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
VBAでユーザーフォームを再表示...
-
Form_Load と Form_Activate の...
-
ユーザーフォームのテキストボ...
-
Microsoft Formsの「個人情報や...
-
モーダルフォームとモードレス...
-
クリックイベントなのに、2回ク...
-
ACCESSのフォーム、開くんです...
-
VBA(エクセル)のユーザー...
-
Hideについて(.NET)
-
エクセルVBAのフォームを最...
-
ユーザーフォーム上に現在日時...
-
VB.NETでフォームロード中のエ...
-
(Excel+VBA)ユーザーフォームの...
-
フォームウィンドウを最前面に...
-
アクセス2013 フォームが...
-
コントロールの存在確認
-
Access VBA コントロールの参照...
-
ブックをCloseまたはQuitで閉じ...
おすすめ情報