これについて正確な情報を提供することは困難です。コンポーネントは古いものです。ほんの少しの背景。
UserForm オブジェクトは、ActiveX コンポーネント ライブラリである Microsoft Forms 2.0 によって実装されます。フォームを任意のアプリケーションに追加するための汎用ライブラリであり、Office アプリに限定されませんでした。これは、マシンの c:\windows\syswow64\fm20.dll (32 ビット マシンの場合は system32) にあります。このコンポーネントのドキュメントは、以前は fm20.chm によって提供されていました。このヘルプ ファイルは Microsoft から入手できなくなりましたが、Google クエリで見つけることができます。ただし、それを提供するほとんどのサイトは非常に怪しげに見えます。 これは最もぬるぬるしていませんでした。実際にこのファイルを表示するのは非常に面倒です。目次を参照することはできますが、どのページにもテキストが表示されなくなりました。
私が見つけた 1 つの回避策は、HTML Workshop ユーティリティを使用してファイルを逆コンパイルすることでした。これにより、f3evtError.htm という名前のファイルが作成されました。次のようになります (内容を編集しています)。
エラー イベント
コントロールがエラーを検出し、呼び出し元のプログラムにエラー情報を返すことができない場合に発生します。
構文
Private Sub object_Error( ByVal Number As Integer, ByVal Description As MSForms.ReturnString, _
ByVal SCode As SCode, ByVal Source As String, ByVal HelpFile As String, _
ByVal HelpContext As Long, ByVal CancelDisplay As MSForms.ReturnBoolean)
エラー イベントの構文には、次の部分があります。
- 必要なオブジェクト。有効なオブジェクト名。
- 索引: 必須。このイベントに関連付けられた MultiPage 内のページのインデックス。
- 番号: 必須。コントロールがエラーを識別するために使用する一意の値を指定します。
- 説明: 必須。エラーのテキストによる説明。
- Sコード: 必須。エラーの OLE ステータス コードを指定します。下位 16 ビットは、Number 引数と同じ値を指定します。
- ソース: 必須。イベントを開始したコントロールを識別する文字列。
- HelpFile: 必須。エラーを説明するヘルプ ファイルの完全修飾パス名を指定します。
- HelpContext: 必須。エラーの説明を含むヘルプ ファイル トピックのコンテキスト ID を指定します。
- CancelDisplay: 必須。エラー文字列をメッセージ ボックスに表示するかどうかを指定します。
備考
エラー イベント用に記述されたコードによって、コントロールがエラー状態にどのように応答するかが決まります。
エラー状態を処理する能力は、アプリケーションによって異なります。アプリケーションが処理できないエラーが発生すると、Error イベントが開始されます。
残念ながらこれだけです。コンポーネントは非常に多くの異なる種類の ActiveX ホストで使用でき、エラー トラップはホスト実装の詳細であるため、あいまいです。最後の段落はあなたが本当に求めているものだと思います。Office のドキュメントでは言及されていないため、実際には Office アプリがこのイベントをトリガーしないと想定するのはかなり安全だと思います。イベントが VBA エディターで引き続き表示されるという事実は、オブジェクト モデルの動作の副作用にすぎません。エディターがそれをフィルターで除外する簡単な方法はありません。オブジェクトの公開されたすべてのイベントを表示するだけです。