Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

xml-file durchsuchen mit VBA????

Forumthread: xml-file durchsuchen mit VBA????

xml-file durchsuchen mit VBA????
05.11.2003 15:50:52
Jakob Werther
Hallo Forum,

Ich muss in einem XML-File eine Suchen-und-Ersetzen-Aktion durchführen.
Allerdings nicht nur "Mache x zu y".
Es sind wohl noch ein paar Abfragen drumherum nötig.

Meine Frage:
Kann man mit VBA eine solche Abfrage für XML-Code machen, und wenn ja, weiß jemand wie??

Bin für alle Tipps dankbar, auch wenn mir jemand sagen kann, wen/wo ich da evtl. noch fragen könnte.

Thx,
- Jakob -
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: xml-file durchsuchen mit VBA????
05.11.2003 16:53:16
Frank
Hallo Jakob,

gehe ich richtig davon aus, daß du die Werte innerhalb der XML-Tags ändern willst?
Es gibt ein Buch: "XML und VBA lernen", Addison-Wesley-Verlag, ISBN 3-8273-1952-8.
Im Prinzip steht dort beschrieben, wie man aus XML-Dateien die Daten in eine Excel-Tabelle bringt und umgedreht. Dann könntest Du die Daten entsprechend innerhalb von Excel mit Suchen und Ersetzen (oder darüber hinaus gehend) abändern.

MfG

Frank
Anzeige
;
Anzeige

Infobox / Tutorial

XML-Datei durchsuchen mit VBA


Schritt-für-Schritt-Anleitung

  1. Öffnen von Excel: Starte Excel und öffne die Datei, in der du die VBA-Makros erstellen möchtest.

  2. Zugriff auf den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Einfügen eines neuen Moduls: Klicke im Menü auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  4. Code zum Durchsuchen der XML-Datei einfügen: Kopiere den folgenden VBA-Code in das Modul:

    Sub XMLDurchsuchen()
       Dim xmlDoc As Object
       Set xmlDoc = CreateObject("MSXML2.DOMDocument.6.0")
    
       xmlDoc.Load "C:\Pfad\zur\deiner\datei.xml" 'Passe den Pfad zur XML-Datei an
    
       'Hier kannst du die Logik zum Suchen und Ersetzen einfügen
       Dim node As Object
       For Each node In xmlDoc.getElementsByTagName("DeinTag") 'Ersetze "DeinTag" durch den gewünschten XML-Tag
           If node.Text = "AlterWert" Then 'Alter Wert, der ersetzt werden soll
               node.Text = "NeuerWert" 'Neuer Wert
           End If
       Next node
    
       xmlDoc.Save "C:\Pfad\zur\deiner\neuen_datei.xml" 'Speichern der neuen Datei
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle das Makro XMLDurchsuchen aus und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler beim Laden der XML-Datei: Stelle sicher, dass der angegebene Pfad zur XML-Datei korrekt ist und die Datei existiert. Überprüfe auch, ob die Datei nicht von einem anderen Programm verwendet wird.

  • Kompilierungsfehler: Überprüfe den VBA-Code auf Tippfehler oder fehlende Anführungszeichen. Achte darauf, dass die XML-Tags korrekt geschrieben sind.

  • Keine Änderungen vorgenommen: Vergewissere dich, dass der gesuchte Wert im XML-Dokument vorhanden ist und dass die Logik zum Suchen und Ersetzen korrekt implementiert ist.


Alternative Methoden

Wenn du kein VBA verwenden möchtest, kannst du auch folgende Methoden ausprobieren:

  • Excel Power Query: Importiere die XML-Datei in Excel und nutze die Power Query-Funktion, um die Daten zu transformieren. Dies ist besonders nützlich für Benutzer, die keine Programmierkenntnisse haben.

  • Manuelles Suchen und Ersetzen: Öffne die XML-Datei in einem Texteditor und benutze die Suchen-und-Ersetzen-Funktion, um die gewünschten Änderungen vorzunehmen.


Praktische Beispiele

Hier sind einige Anwendungsbeispiele für das Suchen und Ersetzen in XML-Dateien:

  1. Ändern von Preisen in einem Produktkatalog: Wenn du in einer XML-Datei die Preise von Produkten ändern musst, kannst du den oben genannten VBA-Code anpassen, um alle Preis-Tags zu durchsuchen und die Werte entsprechend zu aktualisieren.

  2. Bearbeiten von Benutzerdaten: Wenn du XML-Daten von Benutzern hast, kannst du nach bestimmten Benutzern suchen und deren Informationen ändern, indem du die Tags in deinem VBA-Code anpasst.


Tipps für Profis

  • Backup erstellen: Bevor du Änderungen an einer XML-Datei vornimmst, erstelle immer eine Sicherheitskopie, um Datenverluste zu vermeiden.

  • Debugging: Nutze die Debugging-Funktionen im VBA-Editor, um deinen Code Schritt für Schritt durchzugehen, falls du auf Probleme stößt.

  • XML-Schema: Vertraue dich mit dem XML-Schema an, um die Struktur der Datei besser zu verstehen und gezielte Änderungen vorzunehmen.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass mein VBA-Code funktioniert?
Verwende die Debugging-Funktionen im VBA-Editor und teste den Code mit einer Test-XML-Datei, um sicherzustellen, dass alle Funktionen wie gewünscht arbeiten.

2. Kann ich auch mehrere Werte gleichzeitig ersetzen?
Ja, du kannst die Logik im VBA-Code erweitern, um mehrere If-Bedingungen zu prüfen und verschiedene Werte gleichzeitig zu ersetzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige