' Importa la referencia a Microsoft XML v6.0 '
' desde el menú Project > References '
Sub GenerarArchivoXML()
Dim xmlDoc As MSXML2.DOMDocument
Dim xmlSchema As MSXML2.XMLSchemaCache
Dim xmlRoot As MSXML2.IXMLDOMNode
Dim xmlElement As MSXML2.IXMLDOMNode
Dim xmlAttribute As MSXML2.IXMLDOMAttribute
' Crea una nueva instancia del objeto DOMDocument '
Set xmlDoc = New MSXML2.DOMDocument
' Carga el esquema XML desde un archivo '
xmlDoc.async = False
xmlDoc.validateOnParse = True
xmlDoc.Load ("ruta_del_esquema.xsd")
' Crea una nueva instancia del objeto XMLSchemaCache '
Set xmlSchema = New MSXML2.XMLSchemaCache
xmlSchema.Add "", xmlDoc
' Asigna el esquema al documento XML '
xmlDoc.schemas = xmlSchema
' Crea el nodo raíz del documento XML '
Set xmlRoot = xmlDoc.createElement("Root")
xmlDoc.appendChild xmlRoot
' Crea un elemento y atributo dentro del nodo raíz '
Set xmlElement = xmlDoc.createElement("Elemento")
Set xmlAttribute = xmlDoc.createAttribute("Atributo")
' Asigna un valor al atributo '
xmlAttribute.Text = "Valor del atributo"
' Agrega el atributo al elemento '
xmlElement.setAttributeNode xmlAttribute
' Agrega el elemento al nodo raíz '
xmlRoot.appendChild xmlElement
' Guarda el documento XML en un archivo '
xmlDoc.Save ("ruta_del_archivo.xml")
' Libera los objetos de memoria '
Set xmlAttribute = Nothing
Set xmlElement = Nothing
Set xmlRoot = Nothing
Set xmlSchema = Nothing
Set xmlDoc = Nothing
MsgBox "Archivo XML generado con éxito."
End Sub