Seite 1 von 1

[gelöst] Charset beim einlesen von exterer Datei ändern ?

Verfasst: Mo, 24.10.2011 10:21
von der_Zerstreute
Hey Leute ,

ich hab da nen kleines Problem .
Ich habe per Makro eine CSV Datei erzeugt in der die Umlaute korrekt angezeigt werden.

Jetzt versuche ich diese CSV Datei per Makro wieder zurück in ein Tabellenblatt zu schreiben , da andere Blätter der Tabelle Auswertformeln beinhalten.
Dabei stellte ich leider fest, daß mir beim "reimport" die Umlaute flöten gehen und nur durch komische Kästchen dargestellt werden.
Hier nun meine Frage, wie bekomme ich es hin das er mir die Umlaute korrekt darstellt ?

Hier kurz der Code zum einlesen und schreiben in die Tabelle

Code: Alles auswählen

open "...Fehlerliste "+Jahr+".csv" for input as #1

while not EOF(1)
input #1 Zeile
count=count+1
for i=0 to 7
	semi = instr(Zeile,";")
	Data(i) = left(Zeile,semi)
	Data(i) = deletestr(Data(i),";")
	Zeile = right(Zeile,len(Zeile)-semi)
next
Data(8) = Zeile

z=z+1
for s = 0 to 8

Tabelle.getCellbyPosition(s,z).string = Data(s) ' print to Sheet in zeile Z
next

wend
close #1
für Hilfe wäre ich im moment sehr Dankbar ..
Daniel

Re: Charset beim einlesen von exterer Datei ändern ?

Verfasst: Mo, 24.10.2011 19:14
von DPunch
Aloha

Siehe auch OOo Wiki: File I/O (und dortige Links)

Code: Alles auswählen

sPath = ConvertToURL("D:\meinPfad\meineDatei.csv")
oFileAccess = CreateUnoService("com.sun.star.ucb.SimpleFileAccess")
oInputStream = oFileAccess.openFileRead(sPath )

oFileRead = createUnoService("com.sun.star.io.TextInputStream")
oFileRead.InputStream = oInputStream
oFileRead.Encoding = "ISO-8859-16"

Do While NOT oFileRead.IsEOF
   sCurrentLine = oFileRead.readLine
   MsgBox sCurrentLine
Loop

Re: Charset beim einlesen von exterer Datei ändern ?

Verfasst: Di, 25.10.2011 12:35
von der_Zerstreute
Hey DPunch,

danke für den Hinweis ..

Ich hatte sowas schon gefunden aber gehofft es geht auch ohne komplettes umcoden :D ..
Aber wie es ausschaut komm ich da wohl nicht drum herum ;)..