XMLNode.SetValidationError メソッド
XMLNode コントロールに関して、ユーザーに表示する検証エラーのテキストを変更し、強制的に Microsoft Office Word にノードを無効として報告させます。
名前空間: Microsoft.Office.Tools.Word
アセンブリ: Microsoft.Office.Tools.Word (Microsoft.Office.Tools.Word.dll 内)
構文
'宣言
Sub SetValidationError ( _
Status As WdXMLValidationStatus, _
ByRef ErrorText As Object, _
ClearedAutomatically As Boolean _
)
void SetValidationError(
WdXMLValidationStatus Status,
ref Object ErrorText,
bool ClearedAutomatically
)
パラメーター
- Status
型 : Microsoft.Office.Interop.Word.WdXMLValidationStatus
検証ステータスのエラー テキストを設定するか消去するかを指定する、いずれかの WdXMLValidationStatus の値。設定する場合は wdXMLValidationStatusCustom、消去する場合は wdXMLValidationStatusOK。
- ErrorText
型 : System.Object%
ユーザーに表示されるメッセージ。 Status パラメーターに wdXMLValidationStatusOK が設定されている場合は空白のままです。
- ClearedAutomatically
型 : System.Boolean
指定されたノードで、次の検証イベントが発生するとすぐにエラー メッセージが自動的に消去される場合は true。wdXMLValidationStatusOK の Status パラメーターを指定して SetValidationError メソッドを実行しなければ、カスタムのエラー テキストが消去されない場合は false。
解説
カスタムのエラー テキストを設定するには、wdXMLValidationStatusCustom 定数を使用します。
省略可能なパラメーター
省略可能なパラメーターについては、「Office ソリューションの省略可能なパラメーター」を参照してください。
例
次のコード例は、SetValidationError メソッドを使用して、XMLNode に対するカスタムの検証エラー メッセージを設定します。XMLNode が有効でない場合は、ValidationError のイベント ハンドラーがカスタムの検証エラー メッセージを表示します。この例では、現在の文書に CustomerAddress1Node と CustomerZipNode という名前で、整数データ型のスキーマ要素に対応付けられた 2 つの XMLNode オブジェクトが含まれることが前提となっています。
Private Sub XMLNodeValidationError()
' Set custom error message for Address1 element.
Dim errorText As String = Me.CustomerAddress1Node.BaseName & _
" element must be an integer."
Dim objErrorText As Object = CType(errorText, Object)
Me.CustomerAddress1Node.SetValidationError( _
Word.WdXMLValidationStatus.wdXMLValidationStatusCustom, _
objErrorText, False)
' This does not raise a validation error.
Dim val As Integer = 22222
Me.CustomerZipNode.NodeText = val.ToString()
' This raises a validation error.
Me.CustomerAddress1Node.NodeText = "Seventeen Hundred Twenty One"
End Sub
Private Sub CustomerNode_ValidationError(ByVal sender As Object, _
ByVal e As EventArgs) Handles CustomerZipNode.ValidationError, _
CustomerAddress1Node.ValidationError
Dim tempNode As Microsoft.Office.Tools.Word.XMLNode = CType(sender, _
Microsoft.Office.Tools.Word.XMLNode)
MsgBox("Error: " & tempNode.ValidationErrorText(False))
End Sub
private void XMLNodeValidationError()
{
// Set custom error message for Address1 element.
string errorText = this.CustomerAddress1Node.BaseName +
" element must be an integer.";
object objErrorText = (object)errorText;
this.CustomerAddress1Node.SetValidationError(
Word.WdXMLValidationStatus.wdXMLValidationStatusCustom,
ref objErrorText, false);
// Attach validation event handlers.
this.CustomerZipNode.ValidationError +=
new EventHandler(CustomerNode_ValidationError);
this.CustomerAddress1Node.ValidationError +=
new EventHandler(CustomerNode_ValidationError);
// This does not raise a validation error.
int val = 22222;
this.CustomerZipNode.NodeText = val.ToString();
// This raises a validation error.
this.CustomerAddress1Node.NodeText =
"Seventeen Hundred Twenty One";
}
void CustomerNode_ValidationError(object sender, EventArgs e)
{
Microsoft.Office.Tools.Word.XMLNode tempNode =
(Microsoft.Office.Tools.Word.XMLNode)sender;
MessageBox.Show("Error: " + tempNode.ValidationErrorText[false]);
}
.NET Framework セキュリティ
- 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。