• ベストアンサー

自製AP実行中にMS-WORD,EXCELが起動出来ません

VB5でORACLE8のデータを読みMS-ACCESSに出力するプログラムを使用 しています。何十万件ものデータを扱う為に処理時間に30分~1時 間程掛かるのですが、その処理中にMS-WORD,EXCELを使用したくて、 エクスプローラからファイルをダブルクリックしても、砂時計のまま MS-WORD,EXCELが反応せず、VBの抽出処理が終ると同時にMS-WORD,EXC ELも起動します。この現象はWINDOWS95で発生しWINDOWS98ではこの現 象が出ません。 毎日数回行う処理なので待ち時間が馬鹿にならず困っております。 どなたかこういった経験をお持ちで無いでしょうか? ちなみに待っている間はスクリーンセーバも動かずこちらも抽出終了 と同時に起動します。 以上、宜しくお願い致します。

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

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

おそらく件数分まわるループなどがあるのでは? VB製のEXEが処理を独占していると思うので DoEvents をループ内に入れて、制御をOSに渡してみてはどうでしょう。 >30分~1時間 これよりも処理がかかるようになりますが、プログラムとOSの処理を並走させるのであれば、しかたのないこと・・・ はずしていたら、すいません。

ninja972
質問者

お礼

有り難うございます。 そうですね、多少時間が掛かっても処理を並送させる事を 優先したいので試してみます。 現在 “制御をOSに渡した後”の状態について調査している最中です。

すると、全ての回答が全文表示されます。

その他の回答 (3)

noname#32133
noname#32133
回答No.4

大変ですね。。。ちなみに私はORACLE8のデータを読みMS-Excel2000に出力するプログラムを作りました。 処理件数は確か万単位だったかな。 ORACLE8を使用されているということですが、PL/SQLは使えますか?もし使えるのであれば、PL/SQLでいったんCSVテキストに出力して、MSACCESSにインポートする処理ができると思います。(やったことはないですが) あとは、参考までに私が作ったときはCSVにいったん出力後、CSVからEXCELに表示させました。VB6で開発したので配列間の代入を1行でできましたが、VB5でもできるのかどうかはわかりません。 もし、できたら教えてくださいね!!

ninja972
質問者

お礼

代入はVB5でも1行で出来かもしれませんね。 引数の数が多いのでPLで使えるかどうか分かりませんが、今度チャレンジしたいと思います 御丁寧にありがとうございました。

すると、全ての回答が全文表示されます。
noname#32133
noname#32133
回答No.3

VB6でWindowsNTWorkstation4.0で同じような処理を 作ったことがあります。 そのときは、5分から10分くらいその状態でした。 DoEventsを使っても回避し切れなくてとても困った 記憶があります。 そのときは結局「処理実行中はMSのソフトを起動しない」 という運用ルールで回避しました。 ちなみに、処理件数はどのくらいですか? 待ち時間から推測して相当ありそうな感じがしましたが。。。あとは、配列を使っているのであれば配列データの処理の仕方や、オブジェクトの参照方法で処理時間が 短縮できる場合があります。 今の時点ではこれくらいしか言えないですね。。。 お役に立てなかったらごめんなさいね。

ninja972
質問者

お礼

有り難うございます。 そうですね、多少時間が掛かっても処理を並送させる事を 優先したいので試してみます。 現在 “制御をOSに渡した後”の状態について調査している最中です。

ninja972
質問者

補足

すみませんお礼の内容を間違えてしまいました。 事例があった事を知れただけでも大きな収穫です。 DoEventsでもダメな場合もあるのですか(>_<) 自分は現在試している最中なのですが、 それだとやはり困りますね… 件数は5~7万件、多いときは10万件位処理します。 オブジェクトの参照方法で処理時間を短縮する事 も試してみたいと思います。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • chupark
  • ベストアンサー率41% (90/218)
回答No.1

 単純に、コンピュータに多大な負担がかかっていて起動が先送りされているのではないのでしょうか?    処理時間が30分~1時間もかかるほどの膨大な負担がかかっているのですから仕方がないのでは…?

ninja972
質問者

お礼

御回答有り難うございます。 マシンのスペックですかね... 遅くても良いので何とか 起動だけでもしてくれると 助かるのですが・・・

すると、全ての回答が全文表示されます。

関連するQ&A