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

Text aus XML-Files lesen und in Excelzelle schr.

Text aus XML-Files lesen und in Excelzelle schr.
18.07.2005 09:17:45
Norbert
Liebe User,
ich habe eine Frage an euch. Und zwar geht es um Folgendes:
Ich habe ein Excel-File (GESAMT.xls), das 2 Kombinationsfelder hat. In diesen Feldern sind jeweils die Werte YES und NO möglich.
Die Felder sind auf Zellenplatz D10 und D31 im File GESAMT.xls.
Ich habe in dem Excel-File 3 Tabellenblätter A, B und C. Daraus erzeuge ich 3 XML-Files, die von einem Serverprogramm verarbeitet (importiert) werden und nach Abarbeitung der Aktion wieder in ein Verzeichnis E:\ exportiert werden.
Über einen Button im Excel-File möchte ich nun:
Wenn in Zelle D10 von GESAMT.xls YES gestanden ist, aus dem Verzeichnis E:\ die Files A.xml und B.xml öffnen und aus beiden Files den Wert zwischen bestimmten Tags "erfragen".
Wenn in beiden Files der Wert zwischen den Tags ERR 0 /ERR (also Null) ist, dann soll der Text TEXT1 zwischen den Tags TAL TEXT1 /TAL und aus dem File A.xml in die Zelle D56 von GESAMT.xls geschrieben werden und der Text TEXT2 zwischen den Tags TAL TEXT2 TAL und aus dem File B.xml in die Zelle D57 von GESAMT.xls geschrieben werden.
Wenn die Files A.xml und B.xml nicht im Verzeichnis vorhanden sind, dann soll eine Fehlermeldung kommen. Steht der Wert hinter der Zelle D10 von GESAMT.xls auf NO, dann soll gar nichts mit den Files A.xml und B.xml geschehen.
Trotzdem soll noch folgendes (sehr ähnlich dem von oben) geschehen:
Wenn in Zelle D31 von GESAMT.xls YES gestanden ist, aus dem Verzeichnis E:\ das File C.xml öffnen und aus dem File den Wert zwischen bestimmten Tags auslesen.
Wenn in dem File der Wert zwischen den Tags ERR 0 /ERR (also Null) ist, dann soll der Text TEXT3 zwischen den Tags TAL TEXT3 /TAL aus dem File C.xml in die Zelle D58 von GESAMT.xls geschrieben werden.
Wenn das File C.xml nicht im Verzeichnis vorhanden sind, dann soll eine Fehlermeldung kommen.
Steht der Wert hinter der Zelle D31 von GESAMT.xls aber auf NO, dann soll gar nichts mit dem File C.xml geschehen!
Klingt kompliziert die Beschreibung, ich hoffe es findet sich ein Könner für dieses knifflige Problem. Ich bin leider nicht gut in Excel und VBA und würde mich über ein Lösungsskript sehr freuen und dankbar sein.
Alles Liebe an euch,
Norbert


5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text aus XML-Files lesen und in Excelzelle schr.
18.07.2005 10:28:52
tobias
Hallo
Lese die Datei Zeilenweise in eine Variable ein und suchst mit InStr nach dem ersten und dem zweiten Tag. Mit mid() kannst du dann den Text dazwischen "ausschneiden".
Eine Zeile kannst du so einlesen:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(sPath, 1, False)
Do While objFile.AtEndOfStream True
Text(i) = objFile.ReadLine
i = i + 1
Loop
objFile.Close
Set objFile = Nothing
Set objFSO = Nothing
mfg tobias
*** http://www.tubias.de ***
AW: Text aus XML-Files lesen und in Excelzelle schr.
18.07.2005 12:48:02
Norbert
hallo tobias,
danke für deine antwort; was ich aber noch nicht weiß ist, wie ich den text in die excel-zellen schreibe, so wie ich es beschrieben habe, und wie ich die fehlermeldungen bekomme, wenn die files nicht vorhanden sind und die wahrscheinlich notwendigen if-schleifen?
LG
Norbert
Anzeige
AW: Text aus XML-Files lesen und in Excelzelle schr.
18.07.2005 13:37:32
tobias
Hallo
ich habs nicht getestet und nur mal so aus dem Kopf hingeschrieben, ist also nur ein Anhaltspunkt:
lFirst = InStr(1, arrText(i), "Tag")
lLast = InStr(lFirst, arrText(i), "Tag2")
If (lFirst &gt 0) And (lLast &gt 0) Then
j = j + 1
ReDim Preserve arrResult(0 To j)
arrResult(j) = Mid(arrText(i), lFirst + Len("Tag"), lLast - lFirst - Len("Tag"))
End If
~f~
Die Ergebnisse kannst du dann so in die Zellen schreiben:
~f~
For i = 0 To UBound(arrText)
Worksheets("Tabelle1").Cells(i + 1, 1) = arrResult(i)
Next
Naja, ein bisschen mußt du schon selber lernen :-)
mfg tobias
*** http://www.tubias.de ***
Anzeige
AW: Text aus XML-Files lesen und in Excelzelle schr.
18.07.2005 13:40:54
tobias
For i = 0 To UBound(arrText)
Hallo
Sorry, muss natürlich so sein:
For i = 0 To UBound(arrResult)
Worksheets("Tabelle1").Cells(i + 1, 1) = arrResult(i)
Next
mfg tobias
*** http://www.tubias.de ***
AW: Text aus XML-Files lesen und in Excelzelle schr.
18.07.2005 15:34:19
Norbert
Danke dir! Ich werde es testen und mich mit der Hilfe anvertrauen, die es im VBA gibt.
LG
Norbert

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige