人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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


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

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

環境
WIN2003 SP1
VB6.0 SP6



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




●質問者: pikacyuu
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:NT vb6 VBS WSH すみません
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● jouno
●70ポイント

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

?v???Z?X?n???h??????????Shell??????????

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

◎質問者からの返答

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

ですが、


2 ● ohmix1
●70ポイント

http://www.geocities.jp/cbc_vbnet/function/sonotafunction.html#s...

その他の関数

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ