Compartir a través de


Método XMLMapping.SetMappingByNode (Word)

Permite crear o cambiar la asignación de datos XML en un control de contenido. Devuelve True si Microsoft Word asigna el control de contenido a un nodo XML personalizado en el almacén de datos XML personalizado del documento.

Sintaxis

expresión. SetMappingByNode( _Node_ )

Expresión Expresión que devuelve un objeto "XMLMapping".

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
Nodo Obligatorio CustomXMLNode Especifica el nodo XML al que se asignará el control de contenido actual.

Valor devuelto

Booleano

Comentarios

Si ya existe la asignación XML, Word la reemplazará, y el contenido del nuevo nodo XML asignado reemplazará el texto del control de contenido. Vea también el método SetMapping.

Nota:

Si se crea una asignación para un control de contenido de texto enriquecido, se producirá un error en tiempo de ejecución.

Ejemplo:

En el ejemplo siguiente, se establece la propiedad de documento integrada del autor del documento, se inserta un nuevo control de contenido en el documento activo y, a continuación, se establece la asignación XML para el control en la propiedad de documento integrada.

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)

En el ejemplo siguiente se crea código XML personalizado y, a continuación, se crean dos controles de contenido y se asigna cada uno de ellos a un nodo específico dentro del código 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

Consulte también

Objeto XMLMapping

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.