Makro lädt CSV-Datei in Writer statt in Calc

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

peteraw
Beiträge: 3
Registriert: Mi, 28.12.2005 18:04

Makro lädt CSV-Datei in Writer statt in Calc

Beitrag von peteraw »

Hallo Forum,

inzwischen habe ich mehrere Stunden gesucht und nichts Passendes gefunden:

Mein OOo-2.0-Makro lädt eine schlichte, kurze CSV-Testdatei nicht in Calc, sondern in Writer.
Hier das Makro:

Sub Main
Dim oDoc As Object
Dim FileProperties(0) As New com.sun.star.beans.PropertyValue
Dim Url As String
Url = "file:///C:/temp/123.CSV"

FileProperties(0).Name = "FilterName"
FileProperties(0).Value ="scalc: Text - txt - csv (StarOffice Calc)"
oDoc = StarDesktop.loadComponentFromURL(Url, "_blank", 0, FileProperties())
End Sub

Auch den Value habe ich schon vielmals variiert, ohne Erfolg.

Manuelles Öffnen als Text - CSV (*.csv, *.txt) öffnen sie korrekt in Calc.
Kann jemand helfen?

Gruß, peteraw.
peteraw
Beiträge: 3
Registriert: Mi, 28.12.2005 18:04

Makro lädt CSV-Datei in Writer statt in Calc - Lösung

Beitrag von peteraw »

Also, ich habe es jetzt hinbekommen, mit Hilfe des sehr anschauenswerten Codes von
http://www.oooforum.org/forum/viewtopic ... ght=#71125
Danke, Super User ms777!

Leider ist es etwas umständlich, scheint aber hundertprozentig zu funktionieren, weil ich mit dem komplizierten
"FilterOptions"-String der Konvention im Developers-Guide, Punkt 8.2.2, Unterpunkt "Filter Options for the CSV Filter" entspreche.

In meinem speziellen Fall müssen alle im CSV-File enthaltenen Werte als Text eingelesen werden.
Im FilterOptions-String ordne ich deshalb den Spalten 1...10 den Typ 2 (Text) zu.

Hier der Code:

Sub Main
Dim oDoc As Object
Dim FileProperties(1) As New com.sun.star.beans.PropertyValue
Dim Url As String
Url = "file:///C:/temp/123.CSV"

FileProperties(0).Name = "FilterName"
FileProperties(0).Value = "Text - txt - csv (StarCalc)"
FileProperties(1).Name = "FilterOptions"
FileProperties(1).Value = "44,34,ANSI,1,1/2/2/2/3/2/4/2/5/2/6/2/7/2/8/2/9/2/10/2"
oDoc = StarDesktop.loadComponentFromURL(Url, "_blank", 0, FileProperties())
End Sub

Ich denke, es gibt momentan keine bessere Lösung, lasse mich aber gern belehren.

Gruß, peteraw.
Antworten