Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Anzahl Dateien erfassen

Forumthread: Anzahl Dateien erfassen

Anzahl Dateien erfassen
16.06.2009 00:57:02
Jürgen
Hallo Helfer,
ich habe in einem Verzeichnis ca. 20 Dateien, die ich nacheinander (einzeln , nach Abarbeitung wieder schließen) möchte.
Wie kann ich mittels Makro die Anzahl und den Namen der Dateien ermitteln und in einer Variablen erfassen ?
also z.B. Datei 1 = Abnormali.....HS 50-1.xls
damit ich diese später mit dem Befehl Workboos.Open Filename...... öffnen kann ?
Hoffe habe mich einigermaßen verstänlich ausgedrückt.
Danke im voraus
Gruß Jürgen
Als Anhang füge ich ein Verzeichnisbild
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzahl Dateien erfassen
16.06.2009 00:58:24
Jürgen
Hier das Bild:
Userbild
AW: Anzahl Dateien erfassen
16.06.2009 03:26:23
stefan
Hallo Jürgen.
Vielleicht hilft dir ja folgender Code:
With Application.FileSearch
'Im Verzeichnis dieses Workbooks nach Dateien suchen
.NewSearch 'Stellt Suchkriterien zurück
.LookIn = ActiveWorkbook.Path 'Suchpfad
.SearchSubFolders = False 'Sollen Unterverzeichnisse auch durchsucht werden
.Filename = "*" 'Welche Dateinamen sollen gesucht werden
.MatchTextExactly = True
.FileType = msoFileTypeExcelWorkbooks
'Suche ausführen
If .Execute() > 0 Then
'Gefundene Dateien nacheinander ausgeben
For i = 1 To .FoundFiles.Count
MsgBox .FoundFiles(i), , "Gefundene Dateien"
Next i
End If
End With
Anzeige
AW: Anzahl Dateien erfassen
16.06.2009 04:09:36
stefan
Hallo Jürgen.
Vielleicht hilft dir ja folgender Code:

Sub DateienFinden()
With Application.FileSearch
'Im Verzeichnis dieses Workbooks nach Dateien suchen
.NewSearch                      'Stellt Suchkriterien zurück
.LookIn = ActiveWorkbook.Path   'Suchpfad
.SearchSubFolders = False       'Sollen Unterverzeichnisse auch durchsucht werden
.Filename = "*"                 'Welche Dateinamen sollen gesucht werden
.MatchTextExactly = True
.FileType = msoFileTypeExcelWorkbooks
'Suche ausführen
If .Execute() > 0 Then
'Gefundene Dateien nacheinander ausgeben
For i = 1 To .FoundFiles.Count
MsgBox .FoundFiles(i), , "Gefundene Dateien"
Next i
End If
End With
End Sub


PS: Sorry! Ist meine erste Aktion/Antwort in diesem Forum, und ich musste erst einmal herumprobieren, bis ich eine ordentliche Formatierung zustande hatte.

Anzeige
AW: Anzahl Dateien erfassen
16.06.2009 10:11:02
Tino
Hallo,
hier noch eine Versionsunabhängige Version.
kommt als Code in ein Modul
Option Explicit 
Private Declare Sub GetSafeArrayPointer Lib "msvbvm60.dll" Alias "GetMem4" _
                    (pArray() As Any, sfaPtr As Long) 
 
Public myArFiles() As String 
 
'zuerst Daten in einem Array sammeln 
Sub Dateien_Sammeln() 
Dim sFile As String 
Dim i As Integer 
'hier den Pfad angeben, achte auf abschließen mit \ 
Const strPfad As String = "L:\TW-FZE\IWS\IWS-Ordner\Abnormalitätenlisten\" 
 
sFile = Dir(strPfad & "*.xls") 
 
Do While sFile <> "" 
 Redim Preserve myArFiles(i) 
 myArFiles(i) = strPfad & sFile 
 i = i + 1 
 sFile = Dir 
Loop 
 
End Sub 
 
'hier ein Beispiel zur verwendung nach dem die Daten gesammelt wurden. 
Sub Beispiel_Verwendung() 
Dim i As Integer 
Dim sfaPtr As Long 
 
 
GetSafeArrayPointer myArFiles, sfaPtr 
'prüfen ob Array inizialisiert 
 
If sfaPtr > 0 Then 
     
    For i = Lbound(myArFiles) To Ubound(myArFiles) 
     MsgBox myArFiles(i) 'kompletter Pfad 
     MsgBox Dir(myArFiles(i)) 'nur Dateiname 
    Next i 
  
 
   'oder auch so, 0 ist die erste Datei, 1 die zweite usw... 
 
    i = 0 
   
    If Ubound(myArFiles) >= i Then 'gibt es diese position 
      MsgBox myArFiles(0) 'kompletter Pfad 
      MsgBox Dir(myArFiles(0)) 'nur Dateiname 
    End If 
 
End If 
 
End Sub 


Gruß Tino

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige