Mit den Dir() geht es nicht! Diese Funktion liest nur die Dateien und Ordner in dem 
ausgewählten Ordner ein, nicht die Inhalte der Unterordner.
Ich habe eine  Funktion erstellt die alle Unterordner über eine Rekursion ausliest.
Der Aufruf erfolgt mit
Dim Liste(10000) as string
erg=getDirs(liste(),0,"C:\")
Als Ergebnis stehen alle Dateien und Ordner in liste() und der Rückgabewert entspricht 
der 
Anzahl der Einträge.
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