エラー判定!

解決


V.B.c  2002-10-17 01:09:19  No: 105183

皆さん:こんにちは!

  Private Sub cmdA_Click()
    cmdB_Click
    Form1.Show
  End Sub
の処理をしています。

  cmdB_Clickの処理でエラーが出た時にForm1.Showの処理を中止したいです.
  cmdB_Click中のエラーチェックのところでflag = 0とかに設定し,
  Private Sub cmdA_Click()
    cmdB_Click
    if flag <> 0 then
       Form1.Show
    end if
  End Sub
 にすればできますが他にもっと変数を使わない簡単な方法ってありますか?
 よろしくお願いします。


YuO  2002-10-17 01:24:22  No: 105184

On ErrorとかResumeとかを適切に使えばよいと思いますが。


V.B.c  2002-10-17 20:06:08  No: 105185

YuOさん:こんにちは!

  すみません。説明下手でした。
  本来はエラーチェックではなく,MsgBoxで警告メッセージを出した時(cmdB_Click)の処理をしたかったんです。
  たぶんフラグを使う方法しかないようですね。


YuO  2002-10-17 22:03:20  No: 105186

cmdB_Clickの内容をごっそり何らかの関数に移し替えて,cmdB_Clickでも,cmdA_Clickでもその関数を呼ぶようにします。
で,cmdA_Clickでは戻り値をチェックするようにすれば,変数は不要です。

グローバル変数を使う前に,関数の戻り値にできないか考えてみた方がよいでしょう。


V.B.c  2002-10-17 22:30:10  No: 105187

YuOさん:こんにちは!

  そうですね。それも一つのいいアイディアですね。
  
  でも,cmdB_Clickの処理が大きい場合,それをまた関数に移し替えるのも
大変じゃないかと思います。
  cmdB_Clickの処理が単純の場合はいけると思います。

  いろいろアドバイスありがとうございました!
  今後ともよろしくお願いします。


YuO  2002-10-17 22:42:30  No: 105188

解決となっていますが……。

>  でも,cmdB_Clickの処理が大きい場合,それをまた関数に移し替えるのも
> 大変じゃないかと思います。

全処理をcmdB_Clickから関数に移すのです。
単純にCut & Pasteするだけですよ。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加