Excel Forum Per condividere esperienze su Microsoft Excel

Creazione file xml

  • Messaggi
  • OFFLINE
    by sal
    Post: 7.163
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 12/03/2023 17:55
    Ciao a tutti non riesco a creare un file XML qualcuno potrebbe darmi una mano

    Ciao By Sal (8-D
    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
  • OFFLINE
    dodo47
    Post: 3.405
    Registrato il: 06/04/2013
    Utente Master
    2010
    00 12/03/2023 18:25
    Ciao
    prova il codice del seguente link:

    https://stackoverflow.com/questions/45991425/creating-each-row-of-excel-data-into-xml-files-using-vba-macro

    Ricordati di attivare il riferimento a Microsoft XML, xx

    saluti



    [Modificato da by sal 22/03/2023 09:37]
    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    by sal
    Post: 7.163
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 12/03/2023 18:37
    Ciao Domenico, ora vedo, io già riesco ad importare un file XML ma se vado ad esportarlo lo stesso file senza nessuna modifica, mi compare questo errore



    per la verità vi è anche un errore nell'importazione



    e di conseguenza anche nell'esportazione mi da problemi

    però se continuo mi carica i dati del file XML, e non riesco a capire dove sia l'errore

    Ciao By Sal (8-D
    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
  • OFFLINE
    dodo47
    Post: 3.406
    Registrato il: 06/04/2013
    Utente Master
    2010
    00 13/03/2023 10:48
    ciao Salvatore

    questo il codice che ho testato (con le dovute modifiche di path) e che ha creato n xml per quante celle delle colonne B-C-E valorizzate a partire da riga 2....non saprei cos'altro suggerire

    saluti

    Private Sub SaveAs_XML()
    
        Dim doc As MSXML2.DOMDocument60, pi
        Dim root As IXMLDOMElement, dataNode As IXMLDOMElement
        Dim i As Long
    
        For i = 2 To Sheets(1).UsedRange.Rows.Count
    
            Set doc = New MSXML2.DOMDocument60
    
            Set root = doc.createElement("list")
            doc.appendChild root
    
            Set dataNode = doc.createElement("data")
            root.appendChild dataNode
    
            AddAttributeWithValue dataNode, "name", Range("B" & i)
            AddAttributeWithValue dataNode, "lastname", Range("C" & i)
            AddAttributeWithValue dataNode, "age", Range("E" & i)
    
            Set pi = doc.createProcessingInstructi0n("xml", "version=""1.0""")
            doc.InsertBefore pi, doc.ChildNodes.Item(0)
    
            doc.Save "C:\MiaDir\" & Range("B" & i).Value & ".xml" ' <<<<<<<<<<<<<<<<<<<<
        Next i
    
        MsgBox "Successfully exported Excel data to XML!", vbInformation
    
    End Sub
    
    'utility: add an attribute (with a value) to an element
    Sub AddAttributeWithValue(el As IXMLDOMElement, attName, attValue)
        Dim att
        Set att = el.OwnerDocument.createAttribute(attName)
        att.Value = attValue
        el.setAttributeNode att
    End Sub




    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    by sal
    Post: 7.164
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 13/03/2023 11:02
    Ciao Domenico Grazie, ora vedo cosa posso fare, con la macro che hai postato,

    Ciao By Sal (8-D

    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui