● システムエラーを抑制する ●

個人的な覚え書き。

こんなの使うときがあるのか?そもそもシステムエラーを生じさせることが出来ないので、サンプルコードを書くことが出来ん。

Private Declare Function SetErrorMode Lib "kernel32" (ByVal wMode As Long) As Long

Private Const SEM_FAILCRITICALERRORS = &H1
Private Const SEM_NOGPFAULTERRORBOX = &H2
Private Const SEM_NOOPENFILEERRORBOX = &H8000

Public Sub ControlSystemError()

  'システムエラーを抑制
  Call SetErrorMode(SEM_FAILCRITICALERRORS)

End Sub

Public Sub ReleaseSystemError()

  'システムエラー抑制を解除
  Call SetErrorMode(0)

End Sub

とした上で、以下のようにすれば OS が勝手に表示するシステムエラーが表示されなくなる。

Public Sub xxxxxxxxx()
    'システムエラーを抑制
    Call ControlSystemError

    'システムエラーが出る処理
    'うんたらかんたら

    'システムエラー抑制を解除
    Call ReleaseSystemError
End Sub

戻る