chrislm
Goto Top

Csv in excel

Hallo,
ich suche eine Möglichkeit eine CSV in Excel zu konvertieren.
Etwas habe ich schon versucht aber es klappt nicht so ganz mit der Feld - Text erkennung. Denn die Anführungszeichen hinter dem Semikolon sind leider auch mit in Excel zu sehen und das Feld ist standart formatiert. Kann man das irgendwie lösen..?

' BEGIN Script


Const ForReading = 1

Dim fso
Dim tf
Dim fields
Dim row
Dim col
Dim excel
Dim inputFile
Dim outputFile

inputFile = "c:\fertig.csv"
outputFile = "c:\fertig.xls"

Set fso = CreateObject("Scripting.FileSystemObject")
Set tf = fso.OpenTextFile(inputFile, ForReading)

Set excel = CreateObject("Excel.Application")
excel.Visible = False
excel.DisplayAlerts = False
excel.Workbooks.Add

WScript.Echo "Processing..."
row = 1
Do While tf.AtEndOfStream <> True
fields = Split(tf.Readline, ";")
For col = 0 To UBound(fields)
excel.Cells(row, col + 1).Value = fields(col)
Next
row = row + 1
Loop

excel.ActiveWorkbook.SaveAs(outputFile)

excel.Quit
Set excel = Nothing

' END Script

Content-ID: 183572

Url: https://administrator.de/contentid/183572

Ausgedruckt am: 22.11.2024 um 15:11 Uhr

bastla
bastla 16.04.2012 um 11:35:11 Uhr
Goto Top
Hallo chrislm!

Und warum nicht einfach importieren (öffnen)? Soferne es immer um die (vom Aufbau her gleiche) Datei geht, könntest Du bei Bedarf für jedes einzelne Feld den Datentyp festlegen ...

Grüße
bastla
chrislm
chrislm 16.04.2012 um 16:49:08 Uhr
Goto Top
Ich fasse die CSV, wenn sie kommt garnicht groß mehr an. Ich bereite sie auf, leite sie weiter per ftp, bekomme sie wieder, sortiere sie und sende sie an den Empfänger zurück. Und das alles mit einer Batchdatei. Deswegen, wenn es eine möglichkeit gäbe sie per batch in eine Excel zu verwandeln, wäre es perfekt.
Mit dem Programm flowheater könnte man es umsätzen, leider ist das Programm nicht kostenlos bzw die Batchdatei kann nur 50 Einträge
bastla
bastla 16.04.2012 um 16:54:44 Uhr
Goto Top
Hallo chrislm!

Aber wenn Du schon Excel verwendest, kannst Du ja trotzdem die Import-Funktionalität nutzen - einfach mal die .csv auf .txt umbenennen und dann öffnen (und dabei den Makrorekorder mitlaufen lassen) ...

Grüße
bastla
chrislm
chrislm 17.04.2012 um 08:23:26 Uhr
Goto Top
Ich habs mittlerweile hin bekommen, folgendes habe ich noch eingefügt um die Felder entsprechend als Text zu formatieren:
excel.columns("A:H").numberformat="@"

Nun kann ich alles über ein script arbeiten lassen.
Kerngedanke ist, ich bekomme eine Datei und diese lege ich einfach in einen Ordner auf dem Server ab. Über einen geplanten Task wollte ich schauen lassen, ob eine Datei eingang.csv da ist, ist sie da dann lasse ich ihn das script abarbeiten...