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-Key: 183572

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

Printed on: April 19, 2024 at 05:04 o'clock

Member: bastla
bastla Apr 16, 2012 at 09:35:11 (UTC)
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
Member: chrislm
chrislm Apr 16, 2012 at 14:49:08 (UTC)
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
Member: bastla
bastla Apr 16, 2012 at 14:54:44 (UTC)
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
Member: chrislm
chrislm Apr 17, 2012 at 06:23:26 (UTC)
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...