• ベストアンサー

VBAでのBAT起動

VBAでのBAT起動 VBAでBAT起動が上手く行きません。 excel2003、xpを使っています。 C:\test/ の中に、 connect FTP_DL.bat の二つのファイルがあります。 connectの中に記述し、 FTP_DL.batをクリックすることで動くbatとなっております。 Shell "C:\test/FTP_DL.bat", 1 でDOS画面は一瞬でるのですが、batの中身の動作はしてくれません。 普通にダブルクリックでbatを起動すると動作します。 どう記述を変えればよいでしょうか?

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

  • ベストアンサー
  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

原因がわからず いろいろ試すのはあまりいい策ではありません。。。 当初の策で shellの使い方が正しいかどうか調べたり確認したりしてますか?。 shellの実行結果返り値はどうなっていますか?。 http://www.f3.dion.ne.jp/~element/msaccess/AcTipsGetDosResult.html ありがたいことにこういうサイトもあります。 ついでですが、 このバッチファイルの成功失敗によっては 後続の「切断」の対処も変わるのでは?。

noname#115914
質問者

お礼

ありがとうございました。 自分の勉強不足を痛感されられました。 少し勉強してみます。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

あまり、あれこれ手探り状態は、私の本意ではありません。 Sub Test2() Dim WshShell As Object  Set WshShell = CreateObject("Wscript.Shell")  WshShell.Run "C:\test/FTP_DL.bat", 1, True  Set WshShell = Nothing End Sub こんな風にすればいけるかもしれませんが、良くみると、FTP_DLって、FTPでダウンロードという意味ですね。わざわざ、難しいことを考えなくても、VBAで書けるような気がしますね。

noname#115914
質問者

お礼

ありがとうございます。 試してみましたが、やはり駄目でした。 少し自分で勉強してみます。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

>Shell "C:\test/FTP_DL.bat", 1     ↓ Shell "CMD.EXE /C C:\test/FTP_DL.bat", 1 としたらどうでしょうか?

noname#115914
質問者

お礼

ご回答ありがとうございます。 上記方法を試してみたのですが、やはり駄目でした。 一瞬DOS画面はでるのですが、反応はありません。 他に何か方法はないでしょうか?

関連するQ&A