Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
628to632
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
628to632
628to632
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige