Live-Forum - Die aktuellen Beiträge
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
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige