Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1080to1084
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige