- ベストアンサー
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を起動すると動作します。 どう記述を変えればよいでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
原因がわからず いろいろ試すのはあまりいい策ではありません。。。 当初の策で shellの使い方が正しいかどうか調べたり確認したりしてますか?。 shellの実行結果返り値はどうなっていますか?。 http://www.f3.dion.ne.jp/~element/msaccess/AcTipsGetDosResult.html ありがたいことにこういうサイトもあります。 ついでですが、 このバッチファイルの成功失敗によっては 後続の「切断」の対処も変わるのでは?。
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
あまり、あれこれ手探り状態は、私の本意ではありません。 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で書けるような気がしますね。
お礼
ありがとうございます。 試してみましたが、やはり駄目でした。 少し自分で勉強してみます。
- Wendy02
- ベストアンサー率57% (3570/6232)
>Shell "C:\test/FTP_DL.bat", 1 ↓ Shell "CMD.EXE /C C:\test/FTP_DL.bat", 1 としたらどうでしょうか?
お礼
ご回答ありがとうございます。 上記方法を試してみたのですが、やはり駄目でした。 一瞬DOS画面はでるのですが、反応はありません。 他に何か方法はないでしょうか?
お礼
ありがとうございました。 自分の勉強不足を痛感されられました。 少し勉強してみます。