• 締切済み

shell関数を使いアプリがない場合の処理方法

shell関数で、アプリケーションを読み込むことをさせてますが、書かれているパスにアプリがない場合に、どのような例外処理を書き込めよいでしょうか。 よろしくご教授のほど、お願いします。 (理想としては、「アプリがありません。選択して下さい」というメッセージで、参照ボタンみたいな感じで選べるとうれしいです。)

みんなの回答

回答No.3

No2の方が書かれているように、Dirでそのアプリが存在するかどうかを 判断すれば良いのでは? if Dir(アプリのパス)= "" then msgbox "アプリがありません。選択して下さい" exit sub else shell ~ end if というような感じでしょうか。 すみません、私はかなりの初心者なのでこれくらいしか 分かりませんでした。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 エラートラップ以外では、Shell関数の前にファイルの存在チェックをするという方法もあります。(Dir関数とかAPIで) もっとも、最初から参照ボタンでファイルを開くダイアログを出して、実行ファイルを選択してもらえばいいような気がしますが。 では。

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

Shellで起動しようとしたアプリが無いときにエラーにならないようにするには、 1.エラートラップを使う。 On Error Go To トラップ名 2.エラーを無視する。 On Error Resume Next で、エラーを処理する必要があります。 Err.Numberの値を調べ、ファイルが見つからないエラーかどうかをチェックします。 アプリの選択はこのタイミングではなく、最初にアプリケーションを選んでもらうときに選択させるべきでは? それで、起動に失敗したら”もう一度選んでください”とかいうメッセージを出しておしまいにするのがいいのでは?

関連するQ&A

専門家に質問してみよう