[[20150729123119]] 『SHELL関数(VBA)のエラーハンドリング』(VBA初心者) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『SHELL関数(VBA)のエラーハンドリング』(VBA初心者)

SHELL関数を使用してあるEXEファイルを実行したら以下のエラーが出力されました

 XXXX.EXE は動作を停止しました。
 問題の解決策をオンラインで確認できます。
 (以下省略)

以下のようなソースコードでエラーを拾おうと思ったのですが、
retはプロセス番号が入っていて、Err.Numberも正常の為、エラーが拾えません。

 on error goto errorSyori

 ret= Shell((EXEファイル名), vbHide)
 if ret = 0 then
  エラー処理
 endif
 
 errorSyori:
  エラー処理

どのようにすれば、エラーが拾えるのでしょうか?
ご教授願います。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


Shellを実行するのはVBAですが、その中で指定するEXEは無関係の他人です。なので、直接エラーは拾えませんね。

実現出来そうな案。例えば、EXEを起動するバッチファイルを用意して、EXEの戻り値をファイル等に出力。
これをVBAで読み込んでみる、とか? EXEにエラー情報を出力する機能が無いとお手上げですが。
(???) 2015/07/29(水) 16:05


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.