Seite 1 von 1

Speichern unter - als CSV

Verfasst: Di, 13.02.2007 12:25
von Hömmelmann
Hallo alle zusammen,

ich habe da ein Problem:

Ich möchte in meinem Macro eine geöffnete Calc-Tabelle als CSV-Datei speichern.
In den Starbasic-FAQ habe ich dazu etwas gefunden. Das funktioniert aber nicht so richtig. Die Datei hat dann zwar die Endung .csv, ist aber keine reine Text-Datei. Ich vermute, die Filtereinstellungen:

"59/9,34,IBMPC_850,1,1/1/1/1/1/1/1/1"

sind irgendwie nicht richtig dafür.

Kann mir da jemand weiterhelfen. Mein bischen Sachverstand reicht mal wieder nciht aus.


Danke,

Friedhelm

Verfasst: Di, 13.02.2007 13:20
von Karolus
Hallo Friedhelm

Zeichne dir doch einfach die Routine '->Speichern als.......-csv' in einem seperaten Makro auf , dort findest du deine eigenen Filtereinstellungen wieder.

Gruß Karo

hat funktioniert

Verfasst: Di, 13.02.2007 13:54
von Hömmelmann
Hallo und recht herzlichen Dank für die schnelle Antwort.

Ich kann damit zwar die Speicherroutine aus den FAQ nicht nutzen, aber die aufgezeichnete funktioniert auch.


Gruß,


Friedhelm

Verfasst: Di, 13.02.2007 18:10
von Toxitom
Hey Friedhelm,
"59/9,34,IBMPC_850,1,1/1/1/1/1/1/1/1"
Das bedeutet:
1. Feldseperator ist ein Semikolon (Zeichen 059), (was allerdings die /9 dahinter sollen, da bin ich überfragt.
2. Texte werden in doppelte Hochkommas (Zeichen 034) eingeschlossen (Texttrenner).
3. Der zu verwendente Zeichensatz ist "IBMPC_850", in der Regel würde hier eine "0" (Null) genügen, dann würde der Zeichensatz des aktuellen Systems genutzt.
4. Die erste einzulesende Zeile ist die 1.
5. Es werden acht Spalten eingelesen, und zwar im Standard-Format (dabei versucht das Programm selbst, das Format des Inhaltes zu erkennen).

Du sagst, das was rauskommt, ist keine reine Textdatei?? Was denn sonst? Kannst du das näher spezifizieren?

Gruss
Thomas

Verfasst: Do, 15.02.2007 10:58
von Hömmelmann
Hallo,

danke für die Erläuterungen.

Die Datei wird in einem komprimierten (gezipt) Format gespeichert, also wie eine sxc oder ods.
Beim Einlesen wird auch der Filter nicht aufgerufen, sondern die Datei wird sofort angezeigt.


Gruß, Friedhelm

Verfasst: Do, 15.02.2007 18:37
von Toxitom
Hey Freidhelm,

na, dann poste mal den kompletten Code. Da ist wohl insgesamt etwas "faul".

Gruss
Thomas

Verfasst: Fr, 16.02.2007 09:54
von Hömmelmann
Hallo,

den Code habe ich den FAQ entnommen.
http://www.dannenhoefer.de/faqstarbasic ... eroptionen

Außer Pfadangabe und Dateinamen hatte ich nichts verändert.


Gruß, Friedhelm

Verfasst: Fr, 16.02.2007 18:31
von Toxitom
Hey Friedhelm,

tia, man soll nicht immer alles kritiklos übernehmen. Auch Fachleute machen Fehler - oder zeigen nur wichtige Hauptpunkte. Jedenfalls fehlt der Filternahme im Code, das kann nicht gehen. Hier wäre der verbesserte - und getestete Code:

Code: Alles auswählen

Sub Speichern
Dim myProps(1) as New com.sun.star.beans.PropertyValue
sUrl= "file:///D:/daten/puffer/test_heute.csv"
myProps(0).Name = "FilterName"
myProps(0).value = "Text - txt - csv (StarCalc)"
myProps(1).Name="FilterOptions"
myProps(1).Value ="59/9,34,IBMPC_850,1,1/1/1/1/1/1/1/1" 'string mit den Optionen
myDoc = thisComponent
myDoc.storeAsUrl(sUrl,myProps())
End Sub
Gruss
Thomas

Klappt jetzt super

Verfasst: Mo, 19.02.2007 08:54
von Hömmelmann
Hallo,

so ist das: Kleine Ursache, große Wirkung.

Danke, jetzt habe ich eine Speicherroutine, die genau das macht was sie soll.


Friedhelm