[Gelöst] Calc: csv-Import nur, wenn...

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

retuwe61
****
Beiträge: 159
Registriert: So, 18.11.2007 21:25

[Gelöst] Calc: csv-Import nur, wenn...

Beitrag von retuwe61 »

Hallo miteinander.
Ich beziehe mich auf meinen Thread viewtopic.php?f=18&t=52344.
Was ich vergaß ist, dass zukünftig auch csv-Dateien in den Verzeichnissen vorhanden sein werden, für deren Import ich die Filter ändern muss.
Ist es möglich, dass in nachfolgenden Code beim Import der csv-Dateien nur diejenigen berücksichtigt werden, deren Dateinamen mit "xyz" beginnen?
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()

 Dim FileProperties(1) As New com.sun.star.beans.PropertyValue

for i = 0 to uBound(aListe)

  
   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"
'---------------      
'if ?? then
'---------------
   oCSV = StarDesktop.loadComponentFromURL(aListe(i), "_blank", (0), FileProperties()) 
'---------------
' get/set DataArray oCSV =>Tabelle1
'---------------

    oCSV.close(true)
'end if
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
Zuletzt geändert von retuwe61 am So, 19.02.2012 13:04, insgesamt 1-mal geändert.
Angewandt wird LibeOffice Version 5.1.6.2
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Calc: csv-Import nur, wenn...

Beitrag von F3K Total »

Hi,
so sollte es gehen:

Code: Alles auswählen

if left(FileNameoutofPath(aliste(i)),3)="xyz" then
.
.
.
endif
wobei die 3 für die Länge von "xyz" steht

Gruß R
retuwe61
****
Beiträge: 159
Registriert: So, 18.11.2007 21:25

Re: [Gelöst] Calc: csv-Import nur, wenn...

Beitrag von retuwe61 »

Prima.
Dank und Gruß
Uwe
Angewandt wird LibeOffice Version 5.1.6.2
Antworten