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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
Excel VBAで、ユーザーフォームをモードレス表示している間、処理を止めるには?
Visual Basic(VBA)
-
4
Form_Load と Form_Activate のタイミング
Visual Basic(VBA)
-
5
UserForm1.Showでエラーになります。
工学
-
6
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
7
Excel VBA:フォーム←→セルのアクティブ切り替え
Excel(エクセル)
-
8
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
9
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
10
エクセルVBAのフォームを最前面にする方法を教えてください。
Visual Basic(VBA)
-
11
【VB6.0】 あるフォームから他のフォームへ値を受け渡したい
Visual Basic(VBA)
-
12
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
13
EXCEL VBAのユーザーフォームに引数を渡す方法について
Excel(エクセル)
-
14
CloseとDisposeの違い
Visual Basic(VBA)
-
15
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
16
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
17
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
18
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
19
別のシートから値を取得するとき
Visual Basic(VBA)
-
20
マクロ実行時、ユーザーフォームにラベルのテキストが表示されません。
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
エクセルVBAのフォームを最...
-
5
【VBAユーザーフォームで閉じる...
-
6
Form_Load と Form_Activate の...
-
7
ユーザーフォームのコピー?
-
8
Hideについて(.NET)
-
9
VBAで画像を表示する方法
-
10
フォームのテキストボックスな...
-
11
エクセルのVBAでユーザーフォー...
-
12
Excel VBAでユーザーフォームだ...
-
13
ExcelVBAのユーザーフォームの...
-
14
クリックイベントなのに、2回ク...
-
15
ユーザーフォームのテキストボ...
-
16
フォームウィンドウを最前面に...
-
17
コントロールの存在確認
-
18
VBA(エクセル)のユーザー...
-
19
標準モジュールからフォームを...
-
20
エクセルVBA フォーム上でOnkey...
おすすめ情報
公式facebook
公式twitter