次の方法で共有


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
)

パラメーター

  • 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 セキュリティ

  • 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

関連項目

XMLNode インターフェイス

Microsoft.Office.Tools.Word 名前空間