VB6.0 SP6からWSH(5.6:VBSを呼んでいる)を呼んでいます。
戻値 = sherr(VBS(パス付き),vbnormalfocus))
が3264が戻ってきます。
これはなにを意味してるのでしょうか。
環境
WIN2003 SP1
VB6.0 SP6
同様に、NT(WSHのバージョンは同じ)でも動かしてみましたが
エラーになりません。
よろしくお願いします。
http://hp.vector.co.jp/authors/VA014315/vb4.htm
�v���Z�X�n���h����������Shell��������
手元に環境がないのではずしていたらすいません。shell関数でしたら、かえってくるのはプロセスIDですが、そういうことが趣旨ではないのでしょうか。エラーになりませんというのは、2003だとエラーになるということなのでしょうか。
shell関数の戻り値はリファレンスにあるとおり、
「実行が完了するとプログラムのタスクIDを示すバリアント型 の値を返します。
プログラムの実行に問題が発生した場合は、0を返します。」
よって、3264は起動したWSHのプロセスID(=タスクID)なので正常なのでは?
エラーになる/ならないというのが何を指しているのか、
>ERR.NUMBERとエラーメッセージを拾いたいの
というのはVB側のことかWSH側のことかハッキリしないので以下は推測です。
Shell関数が失敗した場合には0が返り、Errオブジェクトにエラー理由が入ります。
ただし、ここで取得できるのは”ファイルが無い”とか”実行できない”とかだけです。
VBとWSHは別のプロセスなので、VB側でWSH内のエラーは取得できません。
このへんを混同しているのではないでしょうか?
どうしてもVB側でWSHのエラー理由を取得したい場合は、
WSH内の処理でエラーをファイルや標準出力に書き出し、
それをVBで読み込んで解析する必要があります。
http://www.f3.dion.ne.jp/~element/msaccess/AcTipsGetDosResult.ht...
DOS コマンドの実行結果を取得する方法
こんな風にしている方もいらっしゃいます。
ERR.NUMBERとエラーメッセージを拾いたいの
ですが、