Ö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
- 
				kannenklaus
 - *****
 - 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 Functionklaus
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