Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


14479 / 76738 ←次へ | 前へ→

【67754】Re:ユーザーフォームをModelessに設定するとPCがフリーズしてしまいます。
回答  UO3  - 11/1/6(木) 17:22 -

引用なし
パスワード
   ▼おぢちゃん さん:

こんにちは

Private Sub CbtStrt_Click()
MyDlg = True
Do Until MyDlg = False   '*1
UserFrm.Show        '*2
Loop            '*3
End Sub

以前はモーダル表示だったわけですよね。
モーダル表示ということは *2 でUserFrmを表示したあと、UserFrm側で
Unloadするまでは、制御がもどってきません。
おそらくは、UserFrm側で、もうやめ、あるいは次の処理をする ということを
選択できるようになっていて、もうやめ の場合は Public変数のmyDlgをFalseにして戻る。
で、もどってきたCbtStrt_Clickで次のコードであるLoopを実行。すると、Do で myDlgが
FalseなのでLoopを抜ける。

こんな仕掛けだったんでしょうね。

ところが、もドレスだとShowによりUserFrmが表示された後、UserFrm側でmyDlgをFalseに
しないまま、すぐにCbtStrt_Clickに戻ります。でLoop -> Do ではmyDlgがFalseではないので
またもや UserFrm.Show 。
延々と、これを繰り返すわけです。

5 hits

【67737】ユーザーフォームをModelessに設定するとPCがフリーズしてしまいます。 おぢちゃん 11/1/6(木) 8:23 質問
【67743】Re:ユーザーフォームをModelessに設定するとPCがフ... UO3 11/1/6(木) 13:00 発言
【67745】Re:ユーザーフォームをModelessに設定するとPCがフ... おぢちゃん 11/1/6(木) 13:55 発言
【67747】Re:ユーザーフォームをModelessに設定するとPCがフ... UO3 11/1/6(木) 14:23 発言
【67748】Re:ユーザーフォームをModelessに設定するとPCがフ... とおりすがり 11/1/6(木) 14:31 回答
【67753】Re:ユーザーフォームをModelessに設定するとPCがフ... おぢちゃん 11/1/6(木) 16:50 お礼
【67754】Re:ユーザーフォームをModelessに設定するとPCがフ... UO3 11/1/6(木) 17:22 回答
【67756】Re:ユーザーフォームをModelessに設定するとPCがフ... おぢちゃん 11/1/6(木) 17:46 お礼

14479 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free