CSV Inhalt automatisch bearbeiten - Wert verschieben
Hallo zusammen,
leider komme ich mit meinen eigenen Anstrenungen (Newbie) in Bezug auf VB Scripts leider nicht weiter und verzweifele an der Lösung meines Problems.
Ich hoffe hier findet sich jemand der mir vielleicht freundlicherweise weiter helfen kann
Problem:
Meine Anwednung generiert eine CSV datei mit mehreren Werten welche wie folgt aussieht:
Im Feld wird der komplette Name (Vor + Nachname z.B: "Markus Müller") hinterlegt. Die Anwendung kann den Vornamen und Nachnamen nicht speriert in der CSV hinterlegen. Somit möchte ich mit einem VB Script den Vornamen in das Feld automatisch verschieben lassen.
Wie kann ich mit dem VB Script die datei automatisch einlesen entsprechend abändern und wieder speichern?
Freue mich auf eure Rückmeldung!
Gruß
Roman
leider komme ich mit meinen eigenen Anstrenungen (Newbie) in Bezug auf VB Scripts leider nicht weiter und verzweifele an der Lösung meines Problems.
Ich hoffe hier findet sich jemand der mir vielleicht freundlicherweise weiter helfen kann
Problem:
Meine Anwednung generiert eine CSV datei mit mehreren Werten welche wie folgt aussieht:
OrderDate,SalesChannel,SellerOrderID,SellerPart#,NeweggItem#,Quantity,ShippingMethod,ShipToFirstName,ShipToLastName,ShipToCompany,ShipToAddressLine1,ShipToAddressLine2,ShipToCity,ShipToState,ShipToPostalCode,ShipToCountry,ShipToPhone#
Im Feld
ShipToLastName
ShipToFirstName
Wie kann ich mit dem VB Script die datei automatisch einlesen entsprechend abändern und wieder speichern?
Freue mich auf eure Rückmeldung!
Gruß
Roman
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 423642
Url: https://administrator.de/forum/csv-inhalt-automatisch-bearbeiten-wert-verschieben-423642.html
Ausgedruckt am: 13.05.2025 um 06:05 Uhr
5 Kommentare
Neuester Kommentar

Und wie stellst du dir vor einen Namen ala Max Müller Seppelhuber oder Helmut Jonas Günter von Hagen zu trennen und korrekt zuzuordnen??
Mit Regex kannst du zwar viel machen aber ob das dann wirklich alle Fälle korrekt berücksichtigt steht wohl in den Sternen. Da brauchst du dann schon eine KI mit Vornamensverzeichnis wenn du hinterher nicht alle nochmal überprüfen willst.
Für die simplen Fälle zum Trennen der Namen findest du hier schon diverse Threads.
Mit Regex kannst du zwar viel machen aber ob das dann wirklich alle Fälle korrekt berücksichtigt steht wohl in den Sternen. Da brauchst du dann schon eine KI mit Vornamensverzeichnis wenn du hinterher nicht alle nochmal überprüfen willst.
Für die simplen Fälle zum Trennen der Namen findest du hier schon diverse Threads.

Dann nimm gleich die Powershell, damit geht das ratz fatz
VBA ist mir jetzt zu viel Tipperei.
$csv = import-csv 'd:\datei.csv' -delimiter ","
$csv | %{
$m = [regex]::match($_.ShipToLastName.Trim(),'(.+)\s+(.+)')
$_.ShipToFirstName = $m.Groups[1].Value
$_.ShipToLastName = $m.Groups[2].Value
}
$csv | export-csv 'd:\datei_neu.csv' -delimiter ";" -NoType -Encoding UTF8

gci 'd:\ordner' -Filter *.csv -File | %{
$csv = import-csv $_.Fullname -delimiter ","
$csv | %{
$m = [regex]::match($_.ShipToLastName.Trim(),'(.+)\s+(.+)')
$_.ShipToFirstName = $m.Groups[1].Value
$_.ShipToLastName = $m.Groups[2].Value
}
$csv | export-csv "$($_.DirectoryName)\datei_$(get-date -f 'dd.MM.yy').csv" -delimiter ";" -NoType -Encoding UTF8
remove-item $_.Fullname -Force
}