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も見ています
-
あるあるbotに投稿したけど採用されなかったあるある募集
あるあるbotに投稿したけど採用されなかったあるあるをこちらに投稿してください
-
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
-
4
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
5
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
6
モードレスでユーザーフォームが開け(表示)ません。
Visual Basic(VBA)
-
7
UserForm1.Showでエラーになります。
工学
-
8
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
9
Excel VBAで、ユーザーフォームをモードレス表示している間、処理を止めるには?
Visual Basic(VBA)
-
10
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
11
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
12
ExcelのVBAでフォームが表示されない
Excel(エクセル)
-
13
テキストボックスの番号を使ったFor~Next文について
Visual Basic(VBA)
-
14
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
15
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
16
Vba Userformを前面に出すについて
Access(アクセス)
-
17
Excel VBA:フォーム←→セルのアクティブ切り替え
Excel(エクセル)
-
18
メッセージボックスの非モーダル化について
Visual Basic(VBA)
-
19
ExcelVBA EnableプロパティがFalseの時に文字の色を変えたくない
Visual Basic(VBA)
-
20
EXCEL VBAのユーザーフォームに引数を渡す方法について
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでユーザーフォームを再表示...
-
ユーザーフォームを表示中にシ...
-
ユーザーフォーム売上日報 別シ...
-
VB.NETでフォーム間でのコント...
-
なぜエラーになるのでしょう?...
-
VBでフォームのイメージを印...
-
MSGBOXのフォント大きさ変更
-
EXCEL VBA データベースの内容...
-
フォームを最背面に設定したい...
-
ExcelVBAのユーザーフォームの...
-
EXCEL ユーザーフォームのタイ...
-
ACCESSのフォーム、開くんです...
-
テキストボックスの番号の取得
-
VBAで画像を表示する方法
-
[ExcelVBA] Application.Dialog...
-
ExcelVBA:フォームを表示しな...
-
コントロールの存在確認
-
C# 2010 printPreviewDialogの...
-
モーダルフォームとモードレス...
-
Formサイズの最小値
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォームのテキストボ...
-
エクセルVBAのフォームを最...
-
クリックイベントなのに、2回ク...
-
VBAでユーザーフォームを再表示...
-
Form_Load と Form_Activate の...
-
Microsoft Formsの「個人情報や...
-
ACCESSのフォーム、開くんです...
-
'ユーザーフォーム右上隅の[×...
-
フォームウィンドウを最前面に...
-
Hideについて(.NET)
-
モーダルフォームとモードレス...
-
ユーザーフォーム上に現在日時...
-
MSGBOXのフォント大きさ変更
-
Excelにて、ユーザーフォームで...
-
コントロールの存在確認
-
ユーザーフォームのラベルに時...
-
VBA(エクセル)のユーザー...
-
エクセルVBA フォーム上でOnkey...
おすすめ情報