-1
Gute Nächte:Wie leer Xmlns verhindern Attribute in der Ausgabe VBA
Ich bin ein Band zu machen, und wenn ich den Knoten Wurzel und den Namespace erstellen Ich habe es wie atribute. der nächste Knoten repites es den Namespace in der Decke
Code:
Private Sub crearRibbon()
Dim RibbonXml As DOMDocument60
Dim objRaizElem As IXMLDOMElement
Dim objRibbonElem As IXMLDOMElement
Dim objPestana As IXMLDOMElement
Dim objPestanas As IXMLDOMElement
Dim objGrupo As IXMLDOMElement
Dim objControl As IXMLDOMElement
Dim objRaizAtt As IXMLDOMAttribute
Dim objRibbonAtt As IXMLDOMAttribute
Dim objPestanaAtt As IXMLDOMAttribute
Dim objGrupoAtt As IXMLDOMAttribute
Dim objControlAtt As IXMLDOMAttribute
Dim strRibbon As String
Dim x As String
Dim oNode As MSXML2.IXMLDOMElement
Set RibbonXml = New DOMDocument60
'Raiz
Set objRaizElem = RibbonXml.createElement("customUI")
RibbonXml.appendChild objRaizElem
Set objRaizAtt = RibbonXml.createAttribute("xmlns")
objRaizAtt.Text = ("http://schemas.microsoft.com/office/2006/01/customui")
objRaizElem.setAttributeNode objRaizAtt
'Ribbon
Set objRibbonElem = RibbonXml.createElement("ribbon")
objRaizElem.appendChild objRibbonElem
Set objRibbonAtt = RibbonXml.createAttribute("startFromScratch")
objRibbonAtt.Text = ("True")
objRibbonElem.setAttributeNode objRibbonAtt
Set oNode = RibbonXml.selectSingleNode("//ribbon")
'Set oNode = RibbonXml.getElementsByTagName("/customUI/ribbon/[xmlns]")
'oNode.removeAttribute ("xmlns")
oNode.Attributes.removeNamedItem "xmlns"
'Pestaña
Set objPestana = RibbonXml.createElement("tabs")
objRibbonElem.appendChild objPestana
'Pestañas
Set objPestanas = RibbonXml.createElement("tab")
objPestana.appendChild objPestanas
Set objPestanaAtt = RibbonXml.createAttribute("id")
objPestanaAtt.Text = ("1")
objPestanas.setAttributeNode objPestanaAtt
Set objPestanaAtt = RibbonXml.createAttribute("label")
objPestanaAtt.Text = ("A Custom Tab")
objPestanas.setAttributeNode objPestanaAtt
Set objPestanaAtt = RibbonXml.createAttribute("visible")
objPestanaAtt.Text = ("true")
objPestanas.setAttributeNode objPestanaAtt
'Grupos
Set objGrupo = RibbonXml.createElement("group")
objPestanas.appendChild objGrupo
Set objGrupoAtt = RibbonXml.createAttribute("id")
objGrupoAtt.Text = ("dbCustomGroup")
objGrupo.setAttributeNode objGrupoAtt
Set objGrupoAtt = RibbonXml.createAttribute("label")
objGrupoAtt.Text = ("A Custom Group")
objGrupo.setAttributeNode objGrupoAtt
'Control
Set objControl = RibbonXml.createElement("control")
objGrupo.appendChild objControl
Set objControlAtt = RibbonXml.createAttribute("idMso")
objControlAtt.Text = ("Paste")
objControl.setAttributeNode objControlAtt
Set objControlAtt = RibbonXml.createAttribute("label")
objControlAtt.Text = ("Built-in Paste")
objControl.setAttributeNode objControlAtt
Set objControlAtt = RibbonXml.createAttribute("enabled")
objControlAtt.Text = ("true")
objControl.setAttributeNode objControlAtt
RibbonXml.Save ("miRibbon1.xml")
End Sub
Und meine Ausgabe
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon xmlns="" startFromScratch="False">
<tabs>
<tab id="1" label="A Custom Tab" visible="true">
<group id="dbCustomGroup" label="A Custom Group">
<control idMso="Paste" label="Built-in Paste" enabled="true"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
And ribbon xmlns=""
es nur Band
Dank
Was fragst du? – dbmitch
Was fragen Sie Und sollte sein: –
emiliove
Die englische kostet mich viel, aber nach dem Root-Namespace, um den unteren Knoten Ribbon-Knoten in Mein Fall, ich zeige ihm den Namespace Und ich habe versucht, das Element hinzuzufügen, um IXMLDOMElement im Ribbon-Knoten zu entfernen: Im September oNode = RibbonXml.selectSingleNode ("// Ribbon") oNode.Attributes.removeNamedItem "xmlns" Aber entfernt es nicht Und ich versuchte andere Möglichkeiten, aber keine von ihnen und erfolgreich. Vielen Dank –
emiliove