Speichern unter - als CSV
Moderator: Moderatoren
-
- ****
- Beiträge: 119
- Registriert: Di, 28.11.2006 19:44
- Wohnort: Meppen
Speichern unter - als CSV
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
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
-
- ****
- Beiträge: 119
- Registriert: Di, 28.11.2006 19:44
- Wohnort: Meppen
hat funktioniert
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
Ich kann damit zwar die Speicherroutine aus den FAQ nicht nutzen, aber die aufgezeichnete funktioniert auch.
Gruß,
Friedhelm
Hey Friedhelm,
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
Das bedeutet:"59/9,34,IBMPC_850,1,1/1/1/1/1/1/1/1"
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
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
-
- ****
- Beiträge: 119
- Registriert: Di, 28.11.2006 19:44
- Wohnort: Meppen
Hey Freidhelm,
na, dann poste mal den kompletten Code. Da ist wohl insgesamt etwas "faul".
Gruss
Thomas
na, dann poste mal den kompletten Code. Da ist wohl insgesamt etwas "faul".
Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
-
- ****
- Beiträge: 119
- Registriert: Di, 28.11.2006 19:44
- Wohnort: Meppen
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
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
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:
Gruss
Thomas
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
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
-
- ****
- Beiträge: 119
- Registriert: Di, 28.11.2006 19:44
- Wohnort: Meppen
Klappt jetzt super
Hallo,
so ist das: Kleine Ursache, große Wirkung.
Danke, jetzt habe ich eine Speicherroutine, die genau das macht was sie soll.
Friedhelm
so ist das: Kleine Ursache, große Wirkung.
Danke, jetzt habe ich eine Speicherroutine, die genau das macht was sie soll.
Friedhelm