Compartilhar via


Evento Document.XMLAfterInsert (Word)

Ocorre quando um usuário adiciona um novo elemento XML a um documento. Se mais de um elemento for adicionado ao documento de uma vez (por exemplo, ao recortar e colar XML), esse evento é acionado para cada elemento inserido.

Sintaxe

expressão. XMLAfterInsert'(NewXMLNode**, InUndoRedo)

Expressão Uma variável que representa um objeto 'Document' que foi declarado usando a palavra-chave WithEvents em um módulo de classe. Para obter informações sobre como usar eventos com um objeto Document , consulte Usando eventos com o objeto Document.

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
NewXMLNode Obrigatório XMLNode O nó XML recém-incluído.
Inundoredo Obrigatório Boolean True indica que a ação foi realizada usando o recurso Desfazer ou Refazer no Microsoft Word.

Comentários

Se o parâmetro InUndoRedo for True, nunca altere o XML em um documento enquanto os eventos XMLAfterInsert e XMLBeforeDelete estão em execução.

Se o parâmetro InUndoRedo for False, você pode inserir e excluir o XML no documento, mas tenha cuidado para que os eventos XMLAfterInsert e XMLBeforeDelete não tentem cancelar um ao outro, gerando um loop infinito. Você pode impedir que entrará em loop infinito usando um global variável booleano e verifique se o final do manipulador de erros, conforme mostrado no exemplo a seguir.

Dim blnIsXMLInsertRunning As Boolean 
 
Private Sub Document_XMLAfterInsert(ByVal DeletedRange As Range, _ 
 ByVal OldXMLNode As XMLNode, ByVal InUndoRedo As Boolean) 
 
 If blnIsXMLInsertRunning = False Then 
 blnIsXMLInsertRunning = True 
 'Insert your event code here. 
 Else 
 Exit Sub 
 End If 
End Sub

Exemplo

O exemplo a seguir valida um novo nó adicionado e mostra uma mensagem descrevendo o erro de validação caso o nó não seja válido.

Private Sub Document_XMLAfterInsert(ByVal NewXMLNode As XMLNode, _ 
 ByVal InUndoRedo As Boolean) 
 
 NewXMLNode.Validate 
 
 If NewXMLNode.ValidationStatus <> wdXMLValidationStatusOK Then 
 MsgBox NewXMLNode.ValidationErrorText 
 End If 
End Sub

Confira também

Objeto Document

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.