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
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.