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

Text aus xml-Datei lesen und in Excelzelle einfüge

Text aus xml-Datei lesen und in Excelzelle einfüge
21.12.2005 11:25:18
Helmut
Hallo liebe Forenuser,
ich habe ein kleines Problem mit dem Auslesen von Daten aus Dateien. Vor langer Zeit hat mir hier mal jemand weitergeholfen, aber nicht ganz so, dass es komplett funktioniert.
Ich habe 4 Dateien in dem Verzeichnis E:\ stehen. Diese Dateien heißen immer:
DU_BG_exp.xml
DU_ET_exp.xml
DO_BG_exp.xml
DO_ET_exp.xml
In jeder dieser Dateien kommt im gesamten Text irgendwo eine Zeile
IMATNR 6677888 /IMATNR
vor (File mit Beispiel ist upgeloadet).
https://www.herber.de/bbs/user/29468.txt
Die Zahl (in diesem Beispiel 6677888) dazwischen ist immer 7stellig und in jeder der 4 Dateien unterschiedlich; auch die Zeile kann eine andere sein, in der die Zahl steht!
Nun habe ich ein Excel-Sheet. Darin habe ich ein Tabellenblatt mit einem Button. Mit einem Klick auf den Button möchte ich, dass:
1. die erste Datei im oben genannten Verzeichnis geöffnet wird
2. der Text zwischen den "Tags" ausgelesen wird
3. und danach dieser Text im Excel-Tabellenblatt in die Zelle D40 geschrieben wird
Das alles mit allen 4 Dateien, nur der jeweilige Text zwischen den "Tags" soll in andere Zellen ins Excel-Tabellenblatt wandern (D40, D41, D45, D48).
Kann mir hier jemand weiterhelfen. Ich bin leider Anfänger mit VBA und das wäre mir eine große Hilfe.
Danke im Voraus.
Liebe Grüße,
Helmut

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text aus xml-Datei lesen und in Excelzelle einfüge
21.12.2005 11:50:37
bst
Hallo Helmut,
&gt Vor langer Zeit hat mir hier mal jemand weitergeholfen,
Hmm, vor langer Zeit ? Eher wohl gestern Abend.
&gt aber nicht ganz so, dass es komplett funktioniert.
tja, was geht denn nicht ?
cu, Bernd
AW: Text aus xml-Datei lesen und in Excelzelle einfüge
21.12.2005 12:31:47
Helmut
Hallo Bernd,
Excel nimmt die beiden SUB-Blöcke von dir nicht in den einen "Block" des Buttons! Somit kann ich dein Script nicht ausführen.
Und was ist denn
(\d+) zwischen den xml-Tags?
P.S.: ich habe meine Anfrage von gestern einfach nochmals 1:1 kopiert, daher das "vor langer Zeit ...."
Liebe Grüße,
Helmut
AW: Text aus xml-Datei lesen und in Excelzelle einfüge
21.12.2005 12:58:24
bst
Hallo Helmut,
> Excel nimmt die beiden SUB-Blöcke von dir nicht in den einen "Block" des Buttons!
? Wenn Du die Sub noch einem Button zuordnen möchtest, nimm entweder einen aus Formular und tu dies direkt oder nimm einen aus Steuerelemente und nimm sowas:
(Ich habe den Button cmdLeseXML benannt).

Private Sub cmdLeseXML_Click()
Call LeseXML
End Sub

> (\d+)
ist Teil des Suchmusters der hier genutzten Regular Expression.
\d ist eine Ziffer, \d+ sind eine oder mehrere Ziffern, so viele wie möglich.
(\d+) speichert dieses als sogenannten Submatch ab so daß man später darauf zugreifen kann.
Falls es sicher ist, daß es immer genau 7 Ziffern sind, geht auch sowas: (\d{7})
Habe ein Beispiel mal hier deponiert: https://www.herber.de/bbs/user/29478.xls
Du könntest natürlich auch Eugen's Variante nehmen, die sieht etwas einfacher aus.
cu, Bernd
Anzeige
AW: Text aus xml-Datei lesen und in Excelzelle einfüge
21.12.2005 13:11:07
helmut
Hallo Bernd,
danke dir recht schön!!
Funktioniert!
LG,
Helmut
AW: Text aus xml-Datei lesen und in Excelzelle einfüge
21.12.2005 11:56:55
Eugen
hi
Option Base 1
Public

Sub get_number()
Dim szFiles(4) As String
Dim fs, f, stStr As String
szFiles(1) = "c:\du_bg_exp.xml"
szFiles(2) = "c:\du_et_exp.xml"
szFiles(3) = "c:\do_bg_exp.xml"
szFiles(4) = "c:\do_et_exp.xml"
For i = 1 To UBound(szFiles)
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.Opentextfile(szFiles(i))
szStr = f.ReadAll()
szStr = Mid(szStr, InStr(szStr, "IMATNR") + 6, 7)
Select Case i
Case 1
Sheets(1).Cells(40, 4).Value = szStr
Case 2
Sheets(1).Cells(41, 4).Value = szStr
Case 3
Sheets(1).Cells(45, 4).Value = szStr
Case 4
Sheets(1).Cells(48, 4).Value = szStr
End Select
f.Close
Next i
End Sub

bei den szfiles musst hald dein pfad eintragen
mfg
Anzeige
AW: Text aus xml-Datei lesen und in Excelzelle einfüge
21.12.2005 13:12:25
Helmut
Hallo Eugen,
auch dir "Danke sehr"! Es klappt auch mit deiner Lösung.
LG,
Helmut

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige