現在、HDDに存在するテキストファイルを、FDに書き込むためshell関数を用いてバッチファイルとF*TRANスクリプトファイルを実行させているのですが、バッチファイルのほうは正常にいくのですが、どうしてもスクリプトファイルを起動させるとエラーになってしまします。対応方法があればご教授お願い致します。
○ Shell("C:\データ.bat", 1) テキストファイルをDOS形式のFDに書き込むバッチファイル
× Shell("C:\データ.ft5", 1) テキストファイルをIBM形式のFDに書き込むF*TRANスクリプトファイル
【エラー内容】
実行時エラー'5'
プロシージャの呼び出し、または引数が不正です。
【実行環境】
Windows Xp
VB6
Shell で起動できるのは、実行可能形式のファイルだけです。
(初期設定では、*.exe; *.com; *cmd; *.bat; *.pif; *.scr)
文書ファイルやスクリプトファイル、ショートカット(*.lnk, *.url等)を
起動する事はできません。実行ファイルへのコマンドラインとして
Shell "cscript.exe C:\sample.vbs"
Shell "notepad.exe C:\sample.txt"
などの指定は可能ですけれども。
> 対応方法があればご教授お願い致します。
Shell 関数では無く、WshShell オブジェクトの Run メソッドを使って
起動してみてください。こちらであれば、関連付けによる起動が行われます。
もし、Shell で対応したいなら、bat ファイル等を経由させるか、あるいは
上記のとおり、対象となる EXE を指定して起動する事になります。
ありがとうございました。やってみます。
ツイート | ![]() |