shell関数を用いてスクリプトを実行する方法について

解決


VB勉強中  2008-08-15 19:02:56  No: 140221

現在、HDDに存在するテキストファイルを、FDに書き込むためshell関数を用いてバッチファイルとF*TRANスクリプトファイルを実行させているのですが、バッチファイルのほうは正常にいくのですが、どうしてもスクリプトファイルを起動させるとエラーになってしまします。対応方法があればご教授お願い致します。

○  Shell("C:\データ.bat", 1)    テキストファイルをDOS形式のFDに書き込むバッチファイル
×  Shell("C:\データ.ft5", 1)    テキストファイルをIBM形式のFDに書き込むF*TRANスクリプトファイル

【エラー内容】
実行時エラー'5'
プロシージャの呼び出し、または引数が不正です。

【実行環境】
Windows Xp
VB6


魔界の仮面弁士  2008-08-15 20:29:21  No: 140222

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 を指定して起動する事になります。


VB勉強中  2008-08-15 23:22:50  No: 140223

ありがとうございました。やってみます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加