Öffnen einer CSV-Datei
Moderator: Moderatoren
Öffnen einer CSV-Datei
Hallo,
ich habe versucht, mit dem folgenden Code eine CSV-Datei zu öffnen. Klappt aber nicht.
Weiß jemand warum und wie es besser geht?
Sub DateiOeffnen
url=converttourl("C:\test.csv")
dim myFileProp as Object
oDocument = StarDesktop.loadComponentFromURL(url, "_blank", 0, myFileProp() )
end sub
Ich freue mich auf eine Lösung!!
Gruß, Friedhelm
ich habe versucht, mit dem folgenden Code eine CSV-Datei zu öffnen. Klappt aber nicht.
Weiß jemand warum und wie es besser geht?
Sub DateiOeffnen
url=converttourl("C:\test.csv")
dim myFileProp as Object
oDocument = StarDesktop.loadComponentFromURL(url, "_blank", 0, myFileProp() )
end sub
Ich freue mich auf eine Lösung!!
Gruß, Friedhelm
-
- *****
- Beiträge: 319
- Registriert: Mi, 14.12.2005 08:08
- Wohnort: freising - oder dort, wo das bier herkommt
hallo friedhelm,
im englischpsrachigen forum habe ich folg. funktionierenden code gefunden:
du musst die variable FNAme ohne dateiendung anpassen.
s.a.
http://www.oooforum.org/forum/viewtopic ... t=open+csv
grüße
klaus
im englischpsrachigen forum habe ich folg. funktionierenden code gefunden:
du musst die variable FNAme ohne dateiendung anpassen.
s.a.
http://www.oooforum.org/forum/viewtopic ... t=open+csv
Code: Alles auswählen
Sub ImportData
Dim oDocument as Object
FName="c:\temp\1"
fnURL=ConvertToURL(FName+".csv")
'Create new document and import data
oDocument = StarDesktop.LoadComponentFromURL( fnURL, "_blank", 0, _
Array(MakePropertyValue( "FilterName", "Text - txt - csv (StarCalc)" ), _
MakePropertyValue( "FilterOptions", "32/MRG,34,0,1,7/2/8/2/9/2/10/2" )
'Description of filter options can be found at
'http://api.openoffice.org/docs/DevelopersGuide/Spreadsheet/Spreadsheet.htm
'Save document
oDocument.storeAsURL( ConvertToURL( Fname+".ods" ), Array() )
End Sub
'property function
Function MakePropertyValue( Optional cName As String, Optional uValue ) As com.sun.star.beans.PropertyValue
oPropertyValue = createUnoStruct( "com.sun.star.beans.PropertyValue" )
If Not IsMissing( cName ) Then
oPropertyValue.Name = cName
EndIf
If Not IsMissing( uValue ) Then
oPropertyValue.Value = uValue
EndIf
MakePropertyValue() = oPropertyValue
End Function
klaus
Hallo Klaus,
ich danke für den Tipp. Es hat prima geklappt.
Nur der Link für die Import-Optionen ist nicht richtig angegeben (natürlich nicht dein Fehler). Richtig muß er lauten:
http://api.openoffice.org/docs/Develope ... heet.xhtml
(Hier angegeben, falls jemand nachsehen möchte)
Gruß, Friedhelm
ich danke für den Tipp. Es hat prima geklappt.
Nur der Link für die Import-Optionen ist nicht richtig angegeben (natürlich nicht dein Fehler). Richtig muß er lauten:
http://api.openoffice.org/docs/Develope ... heet.xhtml
(Hier angegeben, falls jemand nachsehen möchte)
Gruß, Friedhelm
Habe mir folgendes kopiert und ausprobiert
wollte mit folgendem Teil aus deinem Code eine CSV Datei öffnen.
Leider bringt er mir dabei folgende Fehlermeldung:
"""
Basic Laufzeitfehler.
Sub- oder Funktionsprozedur nicht definiert
"""
Mfg
Erwin
Hallo
Sub ImportData
Dim oDocument as Object
FName="c:\temp\1"
fnURL=ConvertToURL(FName+".csv")
'Create new document and import data
oDocument = StarDesktop.LoadComponentFromURL( fnURL, "_blank", 0, _
Array(MakePropertyValue( "FilterName", "Text - txt - csv (StarCalc)" ), _
MakePropertyValue( "FilterOptions", "32/MRG,34,0,1,7/2/8/2/9/2/10/2" )
End sub
wollte mit folgendem Teil aus deinem Code eine CSV Datei öffnen.
Leider bringt er mir dabei folgende Fehlermeldung:
"""
Basic Laufzeitfehler.
Sub- oder Funktionsprozedur nicht definiert
"""
Mfg
Erwin
Naja logisch. Hier steckt der Fehler:
damit wird eine Funktion "MakePropertyValue" aufgerufen die nirgenswo aufgeschrieben ist. Im anderen Code weiter oben ist die dabei und wenn Du sie mit in den Code übernimmst wird dieser auch laufen.
Gruß
Stephan
Code: Alles auswählen
MakePropertyValue( "FilterOptions", "32/MRG,34,0,1,7/2/8/2/9/2/10/2" )
damit wird eine Funktion "MakePropertyValue" aufgerufen die nirgenswo aufgeschrieben ist. Im anderen Code weiter oben ist die dabei und wenn Du sie mit in den Code übernimmst wird dieser auch laufen.
Gruß
Stephan
Ok hab nun mal den orginal Code verwendet bis auf die Zeile "Save document"
Leider bekomme ich auch hier eine Fehlermeldung und zwar an folgender Stelle:
"
oDocument = StarDesktop.LoadComponentFromURL( fnURL, "_blank", 0, _
"
Meldung:
BASIC-Laufzeitfehler
Es ist eine EXecption aufgetrent
Type: com.sun.star.lang.IllegalArgumentExceptio
Massage: URL seems to be an unsupportet one.
Ich hab aber keinen blassen schimmer was der von mir will und wie ich es beheben kann.
Leider bekomme ich auch hier eine Fehlermeldung und zwar an folgender Stelle:
"
oDocument = StarDesktop.LoadComponentFromURL( fnURL, "_blank", 0, _
"
Meldung:
BASIC-Laufzeitfehler
Es ist eine EXecption aufgetrent
Type: com.sun.star.lang.IllegalArgumentExceptio
Massage: URL seems to be an unsupportet one.
Ich hab aber keinen blassen schimmer was der von mir will und wie ich es beheben kann.
Hat sich erledigt, habe was gefunden:
Code: Alles auswählen
Dim oDocument as Object
FName="c:\Kundennummer"
fnURL=ConvertToURL(FName+".txt")
'Datei öffnen mit dem Trennzeichen ;
oDocument = StarDesktop.LoadComponentFromURL( fnURL, "_blank", 0, _
Array(MakePropertyValue( "FilterName", "Text - txt - csv (StarCalc)" ), _
MakePropertyValue( "FilterOptions", "9/MRG,34,0,1,1/1/1/1/1/1/1/1" )
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
Hallo
Den ASCII- Code eines Zeichens kannst du in Calc herausfinden über :
=CODE(";") ergibt --> 59
Gruß Karo
Den ASCII- Code eines Zeichens kannst du in Calc herausfinden über :
=CODE(";") ergibt --> 59
Code: Alles auswählen
sub Open1CSVFile (sUrl As String) As Object
' Opens CSV-file
' sUrl MUST be in Url-format (for example: "file:///c:/ddd.sxc")
' ( --> use / not \ )
sUrl = "file:///ffff/dddd/aaaaa/cccc.csv" 'linux Pfad Notierung
Dim fileProperties(1) As New com.sun.star.beans.PropertyValue
fileProperties(0).Name = "FilterName"
fileProperties(0).Value = "scalc: Text - txt - csv (StarCalc)"
fileProperties(1).Name = "FilterFlags"
fileProperties(1).Value = "59/9,34,0,1,1/1/1/1/1/1/1/1"
'59/9 --> columns are devided by ";" and tab
'59 -> Semikolon ist Spaltentrenner
'34 --> text delimiter --> double qoutes (")
' IBMPC_850 --> charset (is a constant with the value 4)
' 0 is system charset
Open1CSVFile = StarDesktop.loadComponentFromURL(sUrl,"_blank", 0,fileProperties())
End sub