すみませんおしえてください。



VB6.0 SP6からWSH(5.6:VBSを呼んでいる)を呼んでいます。

戻値 = sherr(VBS(パス付き),vbnormalfocus))
が3264が戻ってきます。
これはなにを意味してるのでしょうか。

環境
 WIN2003 SP1
VB6.0 SP6



同様に、NT(WSHのバージョンは同じ)でも動かしてみましたが
エラーになりません。
よろしくお願いします。


回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:jouno No.1

回答回数280ベストアンサー獲得回数0

ポイント70pt

http://hp.vector.co.jp/authors/VA014315/vb4.htm

�v���Z�X�n���h����������Shell�֐����‚���

手元に環境がないのではずしていたらすいません。shell関数でしたら、かえってくるのはプロセスIDですが、そういうことが趣旨ではないのでしょうか。エラーになりませんというのは、2003だとエラーになるということなのでしょうか。

id:pikacyuu

ERR.NUMBERとエラーメッセージを拾いたいの

ですが、

2005/07/29 16:32:28
id:ohmix1 No.2

回答回数235ベストアンサー獲得回数14

ポイント70pt

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 コマンドの実行結果を取得する方法

こんな風にしている方もいらっしゃいます。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません