• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB6とExcel2003VBAの処理の違い)

VB6とExcel2003VBAの処理の違い

このQ&Aのポイント
  • VB6とExcel2003VBAの処理には違いがあります。
  • VB6ではForm1を表示してからすぐに次の処理に進みますが、Excel2003VBAではForm1からの入力を待ってから次の処理に進みます。
  • そのため、プログラムの移植時に問題が生じることがあります。

質問者が選んだベストアンサー

  • ベストアンサー
  • gatyan
  • ベストアンサー率41% (160/385)
回答No.1

vbaのshowメソッドはモーダル vb6のshowメソッドはモードレス が、デフォルトなので、 vb6の方は form1.show vbModalにするといいはずです モーダル/モードレスは調べてみてください

Project_D
質問者

お礼

出来ました。 VB6って邪魔くさいですね~って言うのが率直な意見です。 必ずモーダルでフォームを作る設定ってないんですかねぇ~(^^;A 大昔VB5をある教育機関で受講したことあるのですが、 VB5時代はこんな記述しなくてよかったような??? でものっけでつまづいてたので助かりました。 gatyanさんありがとうございました。

その他の回答 (1)

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.2

> VB5時代はこんな記述しなくてよかったような??? VB5でも同じだったはず・・・ #VB5でもスタイルを指定しないと、「モードレスフォーム」だった。 > VB6って邪魔くさいですね~って言うのが率直な意見です。 個人的にはExcelVBAの方が邪魔くさいですね・・・ Excel97までは、「モーダルフォーム」しか作れず不便だったため、 Excel2000からやっと、「モードレスフォーム」も作れるようになりましたしね。 Excel97以前との互換性で、ExcelVBAでは「モーダルフォーム」が標準のままですが、 「モードレスフォーム」が標準なのが主流だと思いますよ。 まあ、いずれにせよ「ExcelVBAとVB6は(似ているかもしれないが)別の言語」なんですから、 今までの常識がそのまま通用しないと思った方が良いですね。 「疑問が出たら、すぐヘルプで確認」は必須ですね。

Project_D
質問者

お礼

dsuekichiさん、ご回答ありがとうございます。 値の入力を待って次に表示しようとするFormにその値を反映した後に そのFormを表示する方法はモーダルしか出来ないと素人的には 思うのですが、モードレスでも出来ちゃうんですかね~ いづれにしてもHelpは必須ですね!! ありがとうございました。

関連するQ&A