Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1696to1700
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

XML Werte lesen

XML Werte lesen
11.06.2019 08:43:43
Max
Hallo :)
hoffe es kann mir jemand mit meinem Problem helfen. Ich habe mehrere XML Dateien, deren Struktur gleich ist:
<?XML Version="1.0"?>

<Element Name="Position1" Type="Parameter">
<Group ID="First">
<Info ID="position" DataType="REAL" Value="25"/>
<Info ID="position" DataType="REAL" Value="93"/>
</Group>
</Element>

Das wäre ein kleines Beispiel wie die Struktur ist. Nach dem ersten Element können noch weitere folgen, nach dem gleichen Prinzip aufgebaut. Die Werte die ich einlesen möchte sind die "Value" Werte. Diese sollen beim öffnen der Datei in TextBoxen in einer Excel Vorlage geschrieben werden. Dann können diese verändert werden und wieder gespeichert werden. Ich versuche es im Moment mit VBA zu lösen, indem ich "MSXML2" Variablen nutze. Zuerst lade ich die Datei mit "Datei.Load ("pfad") ", dannach wollte ich mit ".getElementsByTageName" den entsprechenden Tag auswählen und am ende mit ".getAttribute" den Werte. Ich scheitere im Moment am richtigen zugriff für das "getAttribute". Vielleicht weiß ja jemand wie man dies richtig nutzt und kann mir einen Tipp geben. Wäre dankbar über jede Hilfe. LG

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: XML Werte lesen
11.06.2019 10:48:33
Zwenn
Hallo Max,
eine Beispieldatei wäre hilfreich. So kann ich nur raten, dass Du die Fehlermeldung "Objekt unterstützt diese Eigenschaft oder Methode nicht" erhältst. Die getAttribute Methode kannst Du nur auf ein einzelnes Tag-Element anwenden. Wenn Du also z.B. mit
Set knotenInfo = XML.document.getElementsByTagName("Info")

eine NodeCollection aus allen Info-Tags aufbaust, musst Du die für die Attribute einzeln durchgehen.
Entweder im Direktzugriff über die Indizes

set knotenValue = knotenInfo(0).getAttribute("Value")
... mach was mit dem ersten ValueWert
set knotenValue = knotenInfo(1).getAttribute("Value")
... mach was mit dem zweiten ValueWert
... usw.

Oder mit For-Each (was meistens sinnvoller ist)

For Each knotenValue in knotenInfo
variableFürValueWert = knotenValue.getAttribute("Value")
... mach was mit dem aktuellen Value-Wert
Next knotenValue

Viele Grüße,
Zwenn
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige