ユーザーCOMエラーハンドラを登録し、有効にします。
#include <Word.au3>
_WordErrorHandlerRegister ( [$s_functionName = "__WordInternalErrorHandler"] )
パラメータ
$s_functionName | [オプション] ユーザー定義のCOMエラーハンドラの名前のはいった文字列変数。デフォルトではこのUDFの内部COMエラーハンドラ。 |
返し値
成功: | 1を返します |
失敗: | 0を返し@ERRORを設定します |
@Error: | $_WordStatus_Success = 正常終了 |
$_WordStatus_GeneralError = 一般的なエラー | |
@Extended: | 無効なパラメータの数を格納 |
注意
重要: 独自のエラーハンドラを使用する場合、使用するエラーオブジェクト変数の名前は$oWordErrorHandlerでなければなりません (例を参照)。
関連
_WordErrorHandlerDeRegister
例
; *******************************************************
; 例 1 - カスタムしたエラーハンドラとデフォルトのWord.au3エラーハンドラを登録。その後、登録解除
; *******************************************************
;
#include <Word.au3>
; カスタムエラーハンドラを登録
_WordErrorHandlerRegister ("MyErrFunc")
; なんらかの処理
; カスタムエラーハンドラを登録解除
_WordErrorHandlerDeregister ()
; なんらかの処理
; デフォルトのWord.au3COMエラーハンドラを登録
_WordErrorHandlerRegister ()
; なんらかの処理
Exit
Func MyErrFunc()
; 重要: エラーオブジェクト変数の名前は$oWordErrorHandlerでなければならない
$ErrorScriptline = $oWordErrorHandler.scriptline
$ErrorNumber = $oWordErrorHandler.number
$ErrorNumberHex = Hex($oWordErrorHandler.number, 8)
$ErrorDescription = StringStripWS($oWordErrorHandler.description, 2)
$ErrorWinDescription = StringStripWS($oWordErrorHandler.WinDescription, 2)
$ErrorSource = $oWordErrorHandler.Source
$ErrorHelpFile = $oWordErrorHandler.HelpFile
$ErrorHelpContext = $oWordErrorHandler.HelpContext
$ErrorLastDllError = $oWordErrorHandler.LastDllError
$ErrorOutput = ""
$ErrorOutput &= "--> COM Error Encountered in " & @ScriptName & @CRLF
$ErrorOutput &= "----> $ErrorScriptline = " & $ErrorScriptline & @CRLF
$ErrorOutput &= "----> $ErrorNumberHex = " & $ErrorNumberHex & @CRLF
$ErrorOutput &= "----> $ErrorNumber = " & $ErrorNumber & @CRLF
$ErrorOutput &= "----> $ErrorWinDescription = " & $ErrorWinDescription & @CRLF
$ErrorOutput &= "----> $ErrorDescription = " & $ErrorDescription & @CRLF
$ErrorOutput &= "----> $ErrorSource = " & $ErrorSource & @CRLF
$ErrorOutput &= "----> $ErrorHelpFile = " & $ErrorHelpFile & @CRLF
$ErrorOutput &= "----> $ErrorHelpContext = " & $ErrorHelpContext & @CRLF
$ErrorOutput &= "----> $ErrorLastDllError = " & $ErrorLastDllError
MsgBox(0, "COM Error", $ErrorOutput)
SetError(1)
Return
EndFunc ;==>MyErrFunc