Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

XML-Dateien mit Excel öffnen und Fehlerausgabe

Forumthread: XML-Dateien mit Excel öffnen und Fehlerausgabe

XML-Dateien mit Excel öffnen und Fehlerausgabe
23.06.2005 15:54:42
Helmut
Hallo liebe Forumuser,
ich habe wieder mal eine Frage:
Der Micha hat mir da vor ca. 2 Tagen schon recht viel weitergeholfen.
Ich wollte in einem Verzeichnis eine XML-Datei öffnen-Daraus wird ein Wert zwischen 2 Strings (Tags) ausgelesen-Dieser Wert wird dann in eine Zelle ins Excel-File ausgegeben.
Wenn das File im Verzeichnis nicht vorhanden ist, wird eine Fehlermeldung ausgegeben.
Das funktioniert auch gut mit einem Klick auf einen Button in Excel.
Was ich nun möchte ist das (nacheinander) Öffnen und Auslesen von 3 XML-Dateien mit einem Mausklick auf den Button; also ich möchte dasselbe wie oben beschrieben, nur mit 3 Dateien und 3 verschiedenen Fehlermeldungen, wenn die Dateien nicht im Verzeichnis sind.
Ich denke, dass ich eine Fehlermeldung bekomme, weil die "Exit Sub" dazwischen sind; wegnehmen verbaut mir aber die Möglichkeit 3 verschiedene Fehlermeldungen zu bekommen.
Ich bitte euch um eine genaue Scriptangabe und hoffe auf eure Hilfe.
Hier der Teil, der für eine Datei super funktioniert:

Private Sub CommandButton5_Click()
' Öffnet die XML-Files mit den angelegten Werten und gibt diese in das Excel-File in die entsprechenden Zellen aus
Dim s As String
Const b = "<EPREIS>"
Const c = "</EPREIS>"
Open "Q:\Auto.xml" For Binary As #1
s = Space(LOF(1))
Get #1, , s
Close #1
On Error GoTo Fehler
Worksheets("Tabelle1").Range("D52") = Mid(s, InStr(s, b) + Len(b), InStr(InStr(s, b), s, c) - InStr(s, b) - Len(b))
Exit Sub
Fehler: MsgBox "Kein Preis des Autos gefunden!", vbExclamation
End Sub

Danke im Voraus!
LG
Helmut
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: XML-Dateien mit Excel öffnen und Fehlerausgabe
23.06.2005 17:05:26
Luschi
Hallo Helmut,
Versuch es mal hiermit:

Private Sub CommandButton5_Click()
' Öffnet die XML-Files mit den angelegten Werten und gibt diese in das Excel-File in die entsprechenden Zellen aus
Dim s As String, i As Integer, datName As String, fF As Long, _
fM As String
Const b = "<EPREIS>"
Const c = "</EPREIS>"
On Error GoTo Fehler
For i = 1 To 3
Select Case i
Case 1: datName = "Q:\Auto.xml"
Case 1: datName = "Q:\Mofa.xml"
Case 1: datName = "Q:\Roller.xml"
End Select
fF = FreeFile()
Open datName For Binary As #fF
s = Space(LOF(1))
Get #fF, , s
Close #fF
Worksheets("Tabelle1").Range("D5" & (i + 1)) = Mid(s, InStr(s, b) + Len(b), InStr(InStr(s, b), s, c) - InStr(s, b) - Len(b))
Next i
Exit Sub
Fehler:
Select Case i
Case 1: fM = "das Autos "
Case 1: fM = "das Mofa"
Case 1: fM = "den Roller"
End Select
MsgBox "Kein Preis für " & fM & " gefunden!", vbExclamation
On Error Resume Next
End Sub

Gruß von Luschi
aus klein-Paris
Anzeige
AW: XML-Dateien mit Excel öffnen und Fehlerausgabe
23.06.2005 18:12:14
Helmut
Hallo Luschi,
danke vorerst mal für deine Antwort und Hilfe. Ich denke, dass das prinzipiell so hinhauen müßte.
Was ich vergessen habe ist zu sagen, dass die Ausgabe der Werte in NICHT aufeinanderfolgende Zellen kommt
D.h.
Wenn jetzt im 1. xml-File ("Auto.xml") der Wert ausgelesen wurde kommt dieser Wert in die Zelle
Worksheets("Tabelle1").Range("D52")
Ist das File nicht vorhanden, kommt die 1. Fehlermeldung
Der Wert aus dem 2. xml-File ("Mofa.xml") kommt in die Zelle
Worksheets("Tabelle1").Range("D57")
Ist das File nicht vorhanden, kommt die 2. Fehlermeldung
Der 3. Wert kommt aus dem 3. xml-File ("Roller.xml")in die Zelle
Worksheets("Tabelle1").Range("D59")
Ist das File nicht vorhanden, kommt die 3. Fehlermeldung
Wie kann ich hier dein Script anpassen, dass es richtig funktioniert, denn die For-Schleife ist ja in diesem Fall mit dem Zähler i+1 falsch?
LG
Helmut
Anzeige
AW: XML-Dateien mit Excel öffnen und Fehlerausgabe
24.06.2005 05:26:58
Luschi
Guten Morgen Helmut,
hier der Korrekturvorschlag:

Private Sub CommandButton5_Click()
' Öffnet die XML-Files mit den angelegten Werten und gibt diese in das Excel-File in die entsprechenden Zellen aus
Dim s As String, i As Integer, datName As String, fF As Long, _
fM As String, adr As String
Const b = "<EPREIS>"
Const c = "</EPREIS>"
On Error GoTo Fehler
For i = 1 To 3
Select Case i
Case 1: datName = "Q:\Auto.xml"
Case 2: datName = "Q:\Mofa.xml"
Case 3: datName = "Q:\Roller.xml"
End Select
fF = FreeFile()
Open datName For Binary As #fF
s = Space(LOF(1))
Get #fF, , s
Close #fF
adr = IIf(i = 1, "D52", IIf(i = 2, "D57", "D59"))
Worksheets("Tabelle1").Range(adr) = Mid(s, InStr(s, b) + Len(b), InStr(InStr(s, b), s, c) - InStr(s, b) - Len(b))
Next i
Exit Sub
Fehler:
Select Case i
Case 1: fM = "das Autos "
Case 2: fM = "das Mofa"
Case 3: fM = "den Roller"
End Select
MsgBox "Kein Preis für " & fM & " gefunden!", vbExclamation
On Error Resume Next
End Sub

Gruß von Luschi
aus klein-Paris
Anzeige
DANKE!!
24.06.2005 13:08:46
Helmut
Hallo Luschi,
danke, es klappt hervorragend!!!!
Du hast mir sehr geholfen!
Schönes WE!
LG
Helmut
;

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