Share via


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

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

ClearedAutomatically
Boolean

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

次のコード例では、 メソッドを 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 ソリューションの省略可能なパラメーター」を参照してください。

適用対象