Language

XMLNode.SetValidationError(WdXMLValidationStatus, Object, Boolean) メソッド

定義

XMLNode コントロールに関して、ユーザーに表示する検証エラーのテキストを変更し、強制的に Microsoft Office Word にノードを無効として報告させます。

public void SetValidationError(Microsoft.Office.Interop.Word.WdXMLValidationStatus Status, ref object ErrorText, bool ClearedAutomatically = true);
abstract member SetValidationError : Microsoft.Office.Interop.Word.WdXMLValidationStatus * obj * bool -> unit
Public Sub SetValidationError (Status As WdXMLValidationStatus, Optional ByRef ErrorText As Object, Optional ClearedAutomatically As Boolean = true)

パラメーター

Status
WdXMLValidationStatus

検証ステータスのエラー テキストを設定するか消去するかを指定する、いずれかの WdXMLValidationStatus の値。設定する場合は wdXMLValidationStatusCustom、消去する場合は wdXMLValidationStatusOK。

ErrorText
Object

ユーザーに表示されるメッセージ。 パラメーターが Status に wdXMLValidationStatusOK設定されている場合は、空白のままにします。

ClearedAutomatically
Boolean

指定されたノードで、次の検証イベントが発生するとすぐにエラー メッセージが自動的に消去される場合は true。 falseカスタム エラー テキストをクリアするには、 SetValidationError(WdXMLValidationStatus, Object, Boolean) のパラメーターwdXMLValidationStatusOKをStatus指定して メソッドを実行する必要がある場合。

例

次のコード例では、 メソッドを SetValidationError 使用して、 のカスタム検証エラー メッセージを XMLNode設定します。 が検証されない場合、 ValidationError イベントのイベント ハンドラーによってカスタム検証エラー メッセージが XMLNode 表示されます。 この例では、現在のドキュメントに という名前CustomerAddress1Nodeの 2 つのXMLNodeオブジェクトが含まれており、CustomerZipNode整数データ型のスキーマ要素にマップされていることを前提としています。

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]);
}
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

注釈

カスタム エラー テキストを設定するには、 定数を wdXMLValidationStatusCustom 使用します。

省略可能のパラメーター

省略可能なパラメーターの詳細については、「 Office ソリューションの省略可能なパラメーター」を参照してください。

適用対象