Axel Richter: Excel Datei nach XML transformieren

Beitrag lesen

Hallo,

<level1>
 <entry id="1">
  <name>Getr&auml;nke</name>
  <level2>
   <l2entry l2id="1">
    <l2name>Alkoholfrei</l2name>
    <level3>
     <l3entry>
      <l3name>Almdudler</l3name>
     </l3entry>
     <l3entry>
      <l3name>Afri-Cola</l3name>
     </l3entry>
     <l3entry>
      <l3name>Coca-Cola</l3name>
     </l3entry>
     <l3entry>
      <l3name>Fanta</l3name>
     </l3entry>
     <l3entry>
      <l3name>Sprite</l3name>
     </l3entry>
     <l3entry>
      <l3name>Mineralwasser</l3name>
     </l3entry>
    </level3>
   </l2entry>

</level2>
»»  </entry>

<entry>
       ... (usw. wie oben)

</entry>
</level1>

Ich hab die Struktur mal wohlgeformt gemacht.

Gibt es da einen Weg diese Idee zu realisieren?

Ja, schreibe ein VBA-Modul für Excel, welches die Tabellendaten als Textdatei mit diesem Inhalt ausgibt.

Extras - Makro - Visual Basic Editor - Einfügen - Modul

Du benötigst dafür
1. Zugriff auf Zellen des Excel-Tabelle
2. Textverkettung um Werte in Tags einzuschließen
3. eventuell den Speicher-Pfad der Excel-Datei
4. die Möglichkeit eine Textdatei mit Inhalt zu erzeugen

Beispiel:

Sub XMLAusgabe()
 WertInZelleA1 = ActiveWorkbook.Sheets("Tabelle1").Range("A1").Value
 MsgBox (WertInZelleA1)

TagWertInZelleA1 = "<tag>" & WertInZelleA1 & "</tag>"

PfadDesWorkbooks = ActiveWorkbook.Path
 MsgBox (PfadDesWorkbooks)

Set FSO = CreateObject("Scripting.FileSystemObject")
 Set XMLFile = FSO.CreateTextFile(PfadDesWorkbooks & "\testfile.txt", True)
 XMLFile.WriteLine (TagWertInZelleA1)
 XMLFile.Close

End Sub

Den Rest (Programmablaufsteuerung usw.) kannst Du Dir in der Hilfe zum VBA selbst erarbeiten.

viele Grüße

Axel