Digital-Inn
 
 

Go Back   Digital-Inn > Office-Welt > MS Excel > Excel Lösungsarchiv

Excel Lösungsarchiv Hier findet Ihr die abgeschlossenen Themen, in welchem die Lösungsansaetze für die angefragten Themen zu finden sind. Benutzer haben hier "nur" Leseberechtigung.

Reply
 
Thread Tools Display Modes
Old 12-09-2009   #1
Fibonacci
Registered User
Senior Member (Board-Inventar)
 

Join Date: Oct 2006
Location: Mainz
Posts: 529
Abgegebene Danke: 1
Erhielt 15 Danke für 14 Beiträge
FileSearch unter 2007

Hallo zusammen,

ein guter Bekannter hat mir eine schöne Lösung gegeben, welche die Applikation
"FileSearch" (welche v. 2007 nicht mehr unterstützt wird) ersetzt und die sogar
ich verstehen kann .

Diese möchte ich euch nicht vorenthalten:

Code:
Public Datei() As String
Sub Dateien_Einsammeln()
'Anstelle von Application.FileSearch 2007
Dim Suchordner As String

With Application.FileDialog(msoFileDialogFolderPicker)
    .AllowMultiSelect = False
    .Title = "Laufwerk/ Ordner wählen"
    .Show
    Suchordner = .SelectedItems(1)
End With

If Suchordner = "" Then Exit Sub
If Right(Suchordner, 1) = "\" Then Suchordner = Left(Suchordner, Len(Suchordner) - 1)

'Get_Filename [wo suchen?],[Unterordner ja/nein],[Datentyp --> "*" --> holt alles]
Get_Filenames Suchordner, True, "xls"
End Sub
Public Function Get_Filenames _
        (OberOrdner As String, Unterordner As Boolean, Datentyp As String)

Dim Zähler As Long, varTemp As String, Ordner() As String

ReDim Ordner(0 To 0): ReDim Datei(0 To 0)
Ordner(0) = OberOrdner: Zähler = 0

If Unterordner = False Then GoTo Nur_Hauptordner

While Zähler <= UBound(Ordner)
    OberOrdner = Ordner(Zähler) & "\"
    varTemp = Dir(OberOrdner & "*.*", vbDirectory)
    While varTemp <> ""
      If CBool(GetAttr(OberOrdner & varTemp) And vbDirectory) = True Then
        If (varTemp <> ".") And (varTemp <> "..") Then
            ReDim Preserve Ordner(UBound(Ordner) + 1)
            Ordner(UBound(Ordner)) = Ordner(Zähler) & "\" & varTemp
        End If
      End If
      varTemp = Dir
    Wend
    Zähler = Zähler + 1
Wend

Nur_Hauptordner:
For Zähler = 0 To UBound(Ordner)
    varTemp = Dir(Ordner(Zähler) & "\*." & Datentyp)
    While varTemp <> ""
        ReDim Preserve Datei(UBound(Datei) + 1)
        Datei(UBound(Datei)) = Ordner(Zähler) & "\" & varTemp
        varTemp = Dir
    Wend
Next
End Function
Leider konnte er mir die ursprüngliche Quelle aus der der Code adaptiert
ist nicht mehr genau benennen...

Vielen Dank an alle Mitwirkenden und viel Spass damit...
__________________
Ciao


Fibo


Last edited by Fibonacci on 14-09-2009 at 05:20
Fibonacci is offline   Reply With Quote
Sponsored Links
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +2. The time now is 02:57.


Powered by vBulletin® Version 3.7.4
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 2.4.0
Template-Modifikationen durch TMS
Advertisement System V2.5 By   Branden
Copyright by NightwoLF & Jesse69