Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

String auslesen und gezielt ausgeben
#1
Hallo Zusammen,

ich habe ein Problem mit einer vorhandenen Textdatei und bräuchte eine automatisierte Ausgabe ...

ich bekomme Daten im folgenden Format:

Code:
<uservalue titel="1234" value="E_AGVW_xyz_asd_wds~ [M_ABEWS_sasdr~ +ABCD; ~ ] " id ="id012345"/>


die Anzahl der [ ] kann varieren.

bspw. auch:
Code:
<uservalue titel="1234" value="E_AGVW_xyz_asd_wds~ [M_ABCD_abcd~ +ABCD; ~ ] [M_EFGH_text~ +EFGH; ~ ] [M_IJKL_text~ +IJKL; ~ ] " id ="id012345"/>

die Anzahl der Bedinungne in [] können mal bis zu 150 werden ...

Ich bräuchte eine Automatisierung wie ich diese Textfelder auslesen kann und dies in Excel untereinander mit dem ersten Value auflisten kann.

Also:

Code:
Spalte A | Spalte B | Spalte C
E_AGVW_xyz_asd_wd | M_ABCD_abcd | +ABCD
E_AGVW_xyz_asd_wd | M_EFGH_text | +EFGH
E_AGVW_xyz_asd_wd | M_IJKL_text | +IJKL
...


In einem Textdokument kann es zu ca. 1.500 Einträgen kommen und in jedem Einträgen bis zu maximal 150 Bedienungen ...

Hat jemand eine Idee über welche Ansatz bzw. Funktion ich das Problem angehen kann? Ich bin aktuell ein wenig ratlos und weiß gar nicht wie ich anfangen soll ... alles händisch zu machen, halte ich aber für nicht zielführend ...

Lieben Dank
Antworten Top
#2
Hi

da ich deine VBA Kenntnisse nicht kenne, hier erst mal nur ein möglicher Code für deine Bsp. Daten.

Code:
Sub D_sort()

arrDat = Split(CreateObject("scripting.filesystemobject").opentextfile("C:\Users\Nutzer\Desktop\Liste Daten.txt").readall, vbCrLf)
Z = 1
For n = 0 To UBound(arrDat, 1)
  IndGrp = Replace(Split(Split(arrDat(n), "=")(2), "~")(0), Chr(34), "")
     arrDat2 = Split(Replace(Replace(arrDat(n), "~", ""), "]", ""), "[")
       For k = 1 To UBound(arrDat2, 1)
           GesStr = IndGrp & " " & Split(arrDat2(k), ";")(0)
           Range("A" & Z).Resize(, 3) = Split(GesStr, " ")
           Z = Z + 1
       Next k
  Z = Z + 1
Next n
End Sub

Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • LaMiyu
Antworten Top
#3
Hallo Elex,

wow, danke das ging schnell und funktioniert super :)
Optimal wäre es noch, wenn ich als Nutzer nach ausführen des Makros den Dateipfad auswählen kann - muss ich mein altes VBA Wissen mal wieder auffrischen ... auch schon gut 15 JAhre her :O

Lieben Dank
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste