[Gelöst] Calc: Import vieler csv-Dateien

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [Gelöst] Calc: Import vieler csv-Dateien

Re: Calc: Import vieler csv-Dateien

von retuwe61 » So, 19.02.2012 00:26

Oh Mann, wenn alles so einfach wäre!
Vielen Dank.
Gruß
Uwe

Re: Calc: Import vieler csv-Dateien

von F3K Total » So, 19.02.2012 00:07

Ich glaube ja, das Du die Zeile

Code: Alles auswählen

Dim FileProperties(1) As New com.sun.star.beans.PropertyValue
aus der Schleife nehmen solltest;-)

Gruß R

[Gelöst] Calc: Import vieler csv-Dateien

von retuwe61 » Sa, 18.02.2012 22:42

Hallo miteinander.
Trotz googeln konnte ich mein Problem nicht lösen: Den automatischen Import aller (gleichartigen) csv-Dateien aus irgend einem Verzeichnis.
Mit nachfolgendem Makro würde der Import der ersten Datei funktionieren. Diese wird dann auch wieder geschlossen, die Nächste gesucht und als Tabelle angezeigt.
Gleichzeitig erscheint dann jedoch bei der Zeile
"oCSV = StarDesktop.loadComponentFromURL(aListe(i), "_blank", (0), FileProperties())"
eine Basic-Laufzeitfehlermeldung: "Message: sequence element is not assignable by given value!"

Für Euch ist die Lösung bestimmt einfach.
Gruß
Uwe

Code: Alles auswählen

Sub Import2Calc
GlobalScope.BasicLibraries.LoadLibrary( "Tools" )
MyDialog=createunoservice("com.sun.star.ui.dialogs.FolderPicker")

If MyDialog.execute() = _
	com.sun.star.ui.dialogs.ExecutableDialogResults.OK then
aFolder = mydialog.directory
sPfad = ConvertToURL(aFolder)

oUCB = createUnoService("com.sun.star.ucb.SimpleFileAccess")
aListe = oUCB.getFolderContents(sPfad, false)

oImport2Calc = StarDesktop.getCurrentComponent().getCurrentController().getModel()
for i = 0 to uBound(aListe)

	Dim FileProperties(1) As New com.sun.star.beans.PropertyValue
	FileProperties(0).Name = "FilterName"
    FileProperties(0).Value ="Text - txt - csv (StarCalc)"
    FileProperties(1).Name = "FilterOptions"
	FileProperties(1).Value ="59/124,34,76,1,7/2/9/2/11/2/15/2/16/2/17/2/18/2/21/2/22/2/23/2,0,true,false"
		
	oCSV = StarDesktop.loadComponentFromURL(aListe(i), "_blank", (0), FileProperties())  
'---------------
' get/set DataArray oCSV =>Tabelle1
'---------------

    oCSV.close(true)

next i
end if
end sub
 

    function getdirs( liste(),z, folder) as integer
       sFolderUrl = ConvertToUrl( Folder )
       oSimpleFileAccess = createUnoService( "com.sun.star.ucb.SimpleFileAccess" )
       aFolders = oSimpleFileAccess.getFolderContents( sFolderUrl,true )
       For i = LBound( aFolders ) To UBound( aFolders )
         sFile = aFolders( i )
         If oSimpleFileAccess.isFolder( sFile ) Then
            getdirs( liste(),z, sFile)
          Else
            liste(z)=sfile
            z=z+1
         end if   
       next i       
       getdirs=z
    end function

Nach oben