- PR -

VBアプリ。イベントを受け取ってくれません。

1
投稿者投稿内容
かつや
ベテラン
会議室デビュー日: 2004/01/19
投稿数: 70
投稿日時: 2004-01-20 12:55
エスセルデータを読み込んで、MDBファイルに積み上げていく処理を実行するVBアプリなんですが、
一旦実行させると、処理が終了するまでは、【終了】ボタンを押しても終了しません。
また、別のアプリ(ワード、IE)等を前面に表示させ、再度VBアプリを前面に表示させても、フォーム画面が再描画されません。

この現象は、どのように回避できるのでしょうか?
初心者なので、初歩的質問だとは思いますが、ご存知の方がいらっしゃれば教えてください。
よろしくお願いします。
りばぁ
大ベテラン
会議室デビュー日: 2003/11/26
投稿数: 130
お住まい・勤務地: 愛知県
投稿日時: 2004-01-20 13:26
こんにちわ。

処理自体をどういうふうに作っているか分からないのでなんともいえませんが。

素直に考えると、VBは基本的にはコードを上から順番に実行していくので、

今やってる処理が終わらない限り、次の処理は出来ません。

>別のアプリ(ワード、IE)等を前面に表示させ、再度VBアプリを前面に表示させても、フォーム画面が再描画されません。

とありますので、まず間違いないと思いますが、マルチスレッドについて
調べてみてはいかがでしょうか?

※VBのみでは、この現象を回避するのは困難だと思います。^^;

<追加>
↓そういえばVB6からは、VBで普通に(?)マルチスレッドできますね^^;
困難と書いたのは、言い過ぎでした。

[ メッセージ編集済み 編集者: りばぁ 編集日時 2004-01-20 13:49 ]
maru
ぬし
会議室デビュー日: 2003/01/27
投稿数: 412
投稿日時: 2004-01-20 13:34
これは参考になりませんか?
http://homepage2.nifty.com/kasayan/vba/doevents.htm
かつや
ベテラン
会議室デビュー日: 2004/01/19
投稿数: 70
投稿日時: 2004-01-20 16:22
ありがとうございます。

マルチスレッド、もしくは”DoEvents”で対応できそうです。
お世話になりました。
1

スキルアップ/キャリアアップ(JOB@IT)