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

向使用者顯示的文字。 當 參數設定為 wdXMLValidationStatusOK時,Status保留空白。

ClearedAutomatically
Boolean

true 表示在指定的節點上發生下一個驗證事件時,會立刻自動清除錯誤訊息。 false,需要使用 的 wdXMLValidationStatusOK 參數執行 SetValidationError(WdXMLValidationStatus, Object, Boolean) 方法Status,以清除自定義錯誤文字。

範例

下列程式代碼範例會 SetValidationError 使用 方法來設定 的 XMLNode自訂驗證錯誤訊息。 如果 XMLNode 未驗證,則事件的ValidationError事件處理程式會顯示自定義驗證錯誤訊息。 本範例假設目前檔包含兩 XMLNode 個名為 CustomerAddress1Node 的物件,且 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 方案中的選擇性參數

適用於