質問
2013年11月20日水曜日 6:38
こんにちは、初投稿です。質問をさせていただきます。
ExcelからVBA(ボタン押下で起動)でBATファイルを実行、シートにデータを展開する処理なのです。
WindowsXP(32bit版);Excel2007(32bit版)では問題なく;動していました。が、
Windows7(64bit版);Excel2013(64bit版)でマクロ実行時にエラーとなってしまいます。
エラーメッセージ:
Microsoft visual Basic
実行時エラー '-2147024894 (80070002)':
'Run'メゾットは失敗しました: 'IWshShell3' オブジェクト
実行環境:
ACTIVE DIRECTORY配下のUSER環境(Administrator権限ではない)で実行。
VBAの下記の箇所でエラーとなってしまいます。
ST_exe = "C:\USER_DATA\BAT\xxxxxxxxxx.BAT "
With CreateObject("WScript.Shell")
.Run ST_exe, , True ←----- ここでエラー
End With
ちなみに同じ記述をしているが正常に;動するシートもあり、原因がわかりません。
アドバイスいただけると助かります。 よろしくお願いします。
すべての返信 (2)
2013年11月20日水曜日 7:40 ✅回答済み
実行時エラー(80070002)は、16進数値で表現された値で、Win32エラーの2番という意味を持つエラー値です。
Win32エラーの2番は、ERROR_FILE_NOT_FOUND というCの識別名を持つエラー番号で、その識別名の通りファイルが見つからないというエラーになります。
まずは、ST_exe で指定したバッチファイルが本当に存在するかをチェックしてみてください。
とっちゃん@わんくま同盟, Microsoft MVP for Visual C;; (Oct 2005-) http://blogs.wankuma.com/tocchann/
2013年11月20日水曜日 8:09
VBAの記述、ディレクトリイり記述など見直したところ、ディレクトリの階層に誤りがありました。
訂正してたところ正常に;動しました。初歩的なミスでお手数をおかけいたしました。
ありがとうございました。