- 締切済み
エクセルからバッチファイルの実行についてお尋ねしたいです。
エクセルからバッチファイルの実行についてお尋ねしたいです。VBAからバッチファイルを実行して、あるアプリケーションを実行しようとしていますが実行できません。どなたか教えてもらえないでしょうか? 環境はXPのOffice2003です。他のPCで同じ環境だとバッチファイルは実行できるのですがこのPCだけ実行できないのです。プログラムの内容としてはあるアプリケーションが立ち上がっていなければバッチファイルでアプリケーションを立ち上げるプログラムになっています。そのバッチファイルがない場合はプログラムから新たに作成します。 バッチファイルがプログラムから立ち上がらない不具合がネットであがっていましたが原因としてはバッチファイルの中身がカレントディレクトリの変更を行っていないためVBAから実行できないという現象でした。なので、バッチファイルを直接ダブルクリックすると実行できますがVBAからは実行できないのです。 しかし今回は、バッチファイルの中身はカレントディレクトリの変更を行っていますし他のPCで同じ環境で行うと実行できるのでバッチファイルの中身は問題ないと予測しております。なのでその特定のPCのみ起きている現象だと考えています。 そのため何らかの設定の問題かOSのシステムになにか不具合ががあるのではないかと思っています。どなたか少しでも原因と考えられることがあれば教えてもらえないでしょうか?なんでもよろしいのでお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
質問点が、質問を読み進むとコロコロ変わり判りにくい。 >エクセルからバッチファイルの実行についてお(表題) でも無く >他のPCで同じ環境だとバッチファイルは実行できるのですがこの(g途中) であり (突き詰めると質問は)あるPCだけにおいて、実行できないがその原因で推測されるものは何か らしい。 最後を一番メインにして質問を書かないとおかしいのでは。 ーー プログラムと それを処理するデータについて ファイルのあり場所指定を変えないといけないような、コードになっているのではないか。例えば卑近な例ではCurDirなど使っておれば 他のPCに行くとそれは通用しない場合が有る、といったようなことは無いのか。 >OSのシステムになにか不具合ががあるのではないかと は無いのでは。他人のせいにし勝ち。 環境とか、コードを追っていく必要が有るのでは。
- nda23
- ベストアンサー率54% (777/1415)
>VBAからバッチファイルを実行して どういうメソッドで実行していますか? >このPCだけ実行できないのです どうなるのですか? 何もせず終わってしまうとか、エラーが発生するなら、どのような ものなのか?全く手掛かりがありません。
補足
>>VBAからバッチファイルを実行して >どういうメソッドで実行していますか? Set objShell = CreateObject("WSCript.shell") objShell.Run "cmd /C" & aaa(バッチファイルの絶対パスを格納して ある変数) >>このPCだけ実行できないのです >どうなるのですか? コマンドプロンプトが一瞬も表示されず何も起こらず終わってしまいます。バッチファイルの中身は以下のとおりです。 CD C:\アプリケーション.exeのフォルダ START アプリケーション.exe
補足
ご回答ありがとうございます。 今回の質問わかりにくく申し訳ありません。質問の書き方ご指摘いただきありがとうございます。勉強になります。 >ファイルのあり場所指定を変えないといけないような、 >コードになっているのではないか。 コードはCurDirなどは使っておらず直接パスを書き込んでおります。そして、すべてのPCにバッチファイルもアプリケーションもCドライブの直下に入れるように指定しています。何台かに導入していますがこのような不具合が出たのは初めてになります。 >>OSのシステムになにか不具合ががあるのではないかと >は無いのでは。他人のせいにし勝ち。 >環境とか、コードを追っていく必要が有るのでは。 すいません。原因があまりにもわからなかったのでOSが問題なのかと思ってしまいました。