Compartilhar via


Método XMLMapping.SetMappingByNode (Word)

Permite criar ou alterar o mapeamento de dados XML em um controle de conteúdo. Retorna True se o Microsoft Word mapear o controle de conteúdo para um nó XML personalizado no armazenamento de dados XML personalizado do documento.

Sintaxe

expression. SetMappingByNode( _Node_ )

Expressão Uma expressão que retorna um objeto 'XMLMapping'.

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Obrigatório CustomXMLNode Especifica o nó XML ao qual o controle de conteúdo atual será mapeado.

Valor de retorno

Booliano

Comentários

Se o mapeamento XML já existir, o Word substituirá o mapeamento XML existente e o conteúdo do novo nó XML mapeado substituirá o texto do controle de conteúdo. Consulte também o método SetMapping.

Observação

A criação de um mapeamento para um controle de conteúdo de rich text causa um erro em tempo de execução.

Exemplo

O exemplo a seguir define a propriedade interna do documento para o autor do documento, insere um novo controle de conteúdo no documento ativo e, em seguida, define o mapeamento XML do controle para a propriedade interna do documento.

Dim objcc As ContentControl 
Dim objNode As CustomXMLNode 
Dim objMap As XMLMapping 
Dim blnMap As Boolean 
 
ActiveDocument.BuiltInDocumentProperties("Author").Value = "David Jaffe" 
 
Set objcc = ActiveDocument.ContentControls.Add _ 
 (wdContentControlDate, ActiveDocument.Paragraphs(1).Range) 
 
Set objNode = ActiveDocument.CustomXMLParts.SelectByNamespace _ 
 ("https://schemas.openxmlformats.org/package/2006/metadata/core-properties") _ 
 (1).DocumentElement.ChildNodes(1) 
 
Set objMap = objcc.XMLMapping 
blnMap = objMap.SetMappingByNode(objNode)

O exemplo a seguir cria uma parte XML personalizada e, em seguida, cria dois controles de conteúdo e mapeia cada controle de conteúdo para um nó específico no XML personalizado.

Dim objRange As Range 
Dim objCustomPart As CustomXMLPart 
Dim objCustomControl As ContentControl 
Dim objCustomNode As CustomXMLNode 
 
Set objCustomPart = ActiveDocument.CustomXMLParts.Add 
objCustomPart.LoadXML ("<books><book><author>Matt Hink</author>" & _ 
 "<title>Migration Paths of the Red Breasted Robin</title><genre>non-fiction</genre>" & _ 
 "<price>29.95</price><pub_date>2007-02-01</pub_date><abstract>" & _ 
 "You see them in the spring outside your windows. You hear their lovely " & _ 
 "songs wafting in the warm spring air. Now follow the path of the red breasted robin " & _ 
 "as it migrates to warmer climes in the fall, and then back to your back yard " & _ 
 "in the spring.</abstract></book></books>") 
 
ActiveDocument.Range.InsertParagraphBefore 
Set objRange = ActiveDocument.Paragraphs(1).Range 
Set objCustomNode = objCustomPart.SelectSingleNode _ 
 ("/books/book/title") 
Set objCustomControl = ActiveDocument.ContentControls _ 
 .Add(wdContentControlText, objRange) 
objCustomControl.XMLMapping.SetMappingByNode objCustomNode 
 
objRange.InsertParagraphAfter 
Set objRange = ActiveDocument.Paragraphs(2).Range 
Set objCustomNode = objCustomPart.SelectSingleNode _ 
 ("/books/book/abstract") 
Set objCustomControl = ActiveDocument.ContentControls _ 
 .Add(wdContentControlText, objRange) 
objCustomControl.XMLMapping.SetMappingByNode objCustomNode

Confira também

Objeto XMLMapping

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.