- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB6とExcel2003VBAの処理の違い)
VB6とExcel2003VBAの処理の違い
このQ&Aのポイント
- VB6とExcel2003VBAの処理には違いがあります。
- VB6ではForm1を表示してからすぐに次の処理に進みますが、Excel2003VBAではForm1からの入力を待ってから次の処理に進みます。
- そのため、プログラムの移植時に問題が生じることがあります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
vbaのshowメソッドはモーダル vb6のshowメソッドはモードレス が、デフォルトなので、 vb6の方は form1.show vbModalにするといいはずです モーダル/モードレスは調べてみてください
その他の回答 (1)
- dsuekichi
- ベストアンサー率64% (171/265)
回答No.2
> VB5時代はこんな記述しなくてよかったような??? VB5でも同じだったはず・・・ #VB5でもスタイルを指定しないと、「モードレスフォーム」だった。 > VB6って邪魔くさいですね~って言うのが率直な意見です。 個人的にはExcelVBAの方が邪魔くさいですね・・・ Excel97までは、「モーダルフォーム」しか作れず不便だったため、 Excel2000からやっと、「モードレスフォーム」も作れるようになりましたしね。 Excel97以前との互換性で、ExcelVBAでは「モーダルフォーム」が標準のままですが、 「モードレスフォーム」が標準なのが主流だと思いますよ。 まあ、いずれにせよ「ExcelVBAとVB6は(似ているかもしれないが)別の言語」なんですから、 今までの常識がそのまま通用しないと思った方が良いですね。 「疑問が出たら、すぐヘルプで確認」は必須ですね。
質問者
お礼
dsuekichiさん、ご回答ありがとうございます。 値の入力を待って次に表示しようとするFormにその値を反映した後に そのFormを表示する方法はモーダルしか出来ないと素人的には 思うのですが、モードレスでも出来ちゃうんですかね~ いづれにしてもHelpは必須ですね!! ありがとうございました。
お礼
出来ました。 VB6って邪魔くさいですね~って言うのが率直な意見です。 必ずモーダルでフォームを作る設定ってないんですかねぇ~(^^;A 大昔VB5をある教育機関で受講したことあるのですが、 VB5時代はこんな記述しなくてよかったような??? でものっけでつまづいてたので助かりました。 gatyanさんありがとうございました。