• ベストアンサー

VBでプロンプトの終了を知るには?

はじめまして。現在VBの勉強中です。 ちょっと行き詰まっています。 よろしければ教えてください。 現在、VBでバッチをたたいてエクスポートするプログラムを作成しています。 エクスポートしている間(プロンプトが開いて処理をしている間)は、 VBを終了したくないのですが、以下のようなプログラムだと、 VBが先に終了してしまい、プロンプトだけが残されてしまいます。 Shell "C:\Test.bat", vbNormalFocus End プロンプトを非表示にしたいわけではなく、プロンプトが終了してから VBを終わらせたいのです。 何か方法があれば教えてください。 よろしくお願いいたします。

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

  • ベストアンサー
回答No.3

下記のURLが参考になるかと思います。

参考URL:
http://www.bcap.co.jp/hanafusa/VBHLP/tap_PrgEnd.htm
BOOsan
質問者

お礼

回答ありがとうございました。 そのまま使ったらうまくいきました。 理解できない部分もありましたが・・^^; どうもありがとうございました!

その他の回答 (3)

回答No.4

以下のような感じではいかがでしょう? Private Sub Form_Load() Dim i As Integer If Dir("C:\test.log") <> "" Then Kill "C:\test.log" For i = 0 To 10 Shell "C:\Test.bat > C:\test.log", vbNormalFocus If Dir("C:\test.log") <> "" Then Exit For DoEvents Loop End Sub for文は無限ループ防止用なので終了条件は適宜変更して下さい。

BOOsan
質問者

お礼

わざわざソースまで書いていただいて どうもありがとうございました! ちょっと上手くいかなかったのですが、 考え方はすごくシンプルでわかりやすかったです。 こういうのが自分で作れるようになりたいです。 ありがとうございした!

回答No.2

このURLを参考にしてはどうでしょう。

参考URL:
http://www5a.biglobe.ne.jp/~NCPRO/VB.htm
BOOsan
質問者

お礼

回答ありがとうございました! 少し難しかったですが、参考になりました。 ありがとうございました。

  • siteuma
  • ベストアンサー率28% (77/271)
回答No.1

VBでの処理を終了する前に、 バッチが実行中かを監視する処理を入れるとか・・・。 (Timerで監視してバッチが動作していなかったら処理を抜ける) むかーし、そんなのを作った記憶があります。 (VB離れてから大分経ってるんであんまり自信なし)

BOOsan
質問者

お礼

すばやい回答をありがとうございました。 そういう発想があるんですね! 勉強になりました。 ありがとうございました。

関連するQ&A