Lars: Excel Datei nach XML transformieren

Hallo allerseits! :-)

Ich möchte gerne folgende XML Struktur aus einer Excel Datei generieren lassen. Die Inhalte der Knoten sollen zunächst in einem Excel Dokument eingepflegt werden, und dann nach XML transformiert werden können.

<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>
  </entry>
  <entry>

... (usw. wie oben)

</entry>
</level1>

Gibt es da einen Weg diese Idee zu realisieren?

Viele Grüße
Lars

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

    1. Hallo Axel!

      Wow! Respekt! :-) Danke dir für die schnelle und kompetente Hilfe!!!!!!!! :-)

      Viele Grüße
      Lars