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

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst] Charset beim einlesen von exterer Datei ändern ?

Re: Charset beim einlesen von exterer Datei ändern ?

von der_Zerstreute » Di, 25.10.2011 12:35

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 ;)..

Re: Charset beim einlesen von exterer Datei ändern ?

von DPunch » Mo, 24.10.2011 19:14

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

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

von der_Zerstreute » Mo, 24.10.2011 10:21

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

Nach oben