Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1156to1160
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

Datensicherung datumsabhängig

Datensicherung datumsabhängig
Markus
Guten Morgen liebe Excel-Spezialisten,
ich habe folgendes Problem:
ich würde gerne per makro folder, subfolder plus darin enthaltene files monatlich sichern. Es sollen aber nur jene files gesichert werden welche in einem bestimmten zeitraum im Quellverzeichnis erstellt wurden. so soll z.B eine datensicherung für den Monat Februar alle files betreffen die zwischen 27.Jänner und 01.März erstellt wurden kopiert werden (das sollte immer gleich bleiben: 27. des Vormonats bis 1. des Folgemonats. ); d.H. man sollte durch aufrufen des makros ein Monat auswählen können, diese files werden dann in den subfolders des Quellerzeichnisses gesucht und alles files samt subfolder ins zielverzeichnis kopiert wobei das ausgewählte monat im zielverzeichnis als ordner erstellt werden sollte:
ungfähr so
das Quellverzeichnis: C:\MSD\1\....enthält 3 subfolder mit files
Zielverzeichnis D:\Datensicherung Gerät A\
nach makroausfürung für monat februar:
Zielverzeichnis D:\Datensicherung Gerät A\Februar\...plus alle subfolder mit files a C:\MSD\1\ vom quellverzeichnis
Ich habe hier im Archiv und im forum schon nach codes gesucht, bin aber leider nicht fündig geworden.
Vielleicht kann mir jemand von euch helfen ?
Liebe Grüsse
Markus M.
AW: Datensicherung datumsabhängig
08.05.2010 19:02:31
Josef

Hallo Markus,
meiner Meinung nach, sollte zum Monat auch das Jahr in den Ordnernamen.
Es wird allerdings nicht geprüft, ob die Dateien bereits gesichert wurden.

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long

Sub backup()
  Dim strSrcPath As String, strTgtPath As String, strFolder As String
  Dim objFiles() As Object, objFSO As Object
  Dim datMinDate As Date, datMaxDate As Date, datDate As Date
  Dim lngRet As Long, lngIndex As Long, lngMonth As Long
  
  
  strSrcPath = "E:\forum" 'Quellverzeichnis - ANpassen!
  
  strTgtPath = "E:\Temp\Test\" 'Zielverzeichnis - Anpassen!
  
  strTgtPath = IIf(Right(strTgtPath, 1) <> "\", strTgtPath & "\", strTgtPath)
  
  lngMonth = Application.InputBox("Bitte gewünschtes Monat angeben:" & vbLf & _
    "(1 = Januar, 12 = Dezember)", "Monat wählen", Month(Date), Type:=1)
  
  If lngMonth = 0 Or lngMonth > 12 Then
    MsgBox "Ungültige Monatsangabe, der Vorgang wird abgebrochen!", vbInformation, "Hinweis"
    Exit Sub
  End If
  
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  
  datDate = DateSerial(Year(Date), lngMonth, 1)
  datMinDate = DateSerial(Year(datDate), Month(datDate) - 1, 27)
  datMaxDate = DateSerial(Year(datDate), Month(datDate) + 1, 1)
  
  strFolder = Format(datDate, "mmmmyy")
  
  MakeSureDirectoryPathExists strTgtPath & strFolder
  
  lngRet = FileSearchINFO(objFiles, strSrcPath, SubFolders:=True)
  
  If lngRet > 0 Then
    For lngIndex = 0 To lngRet - 1
      With objFiles(lngIndex)
        If .datecreated >= datMinDate And .datecreated <= datMaxDate Then
          MakeSureDirectoryPathExists strTgtPath & strFolder & "\" & .ParentFolder.Name & "\"
          objFSO.CopyFile objFiles(lngIndex), strTgtPath & strFolder & "\" & .ParentFolder.Name & "\" & .Name
        End If
      End With
    Next
  End If
  
  Set objFiles = Nothing
  Set objFSO = Nothing
  
End Sub


Private Function FileSearchINFO(ByRef Files() As Object, ByVal InitialPath As String, Optional ByVal FileName As String = "*", _
    Optional ByVal SubFolders As Boolean = False) As Long

  
  '# PARAMETERINFO:
  '# Files: Datenfeld zur Ausgabe der Suchergebnisse
  '# InitialPath: String der das zu durchsuchende Verzeichnis angibt
  '# FileName: String der den gesuchten Dateityp oder Dateinamen enthält (Optional, Standard="*.*" findet alle Dateien)
  '# Beispiele: "*.txt" - Findet alle Textdateien
  '# "*name*" - Findet alle Dateien mit "name" im Dateinamen
  '# "*.avi;*.mpg" - Findet .avi und .mpg Dateien (Dateitypen mit ; trennen)
  '# SubFolders: Boolean gibt an, ob Unterordner durchsucht werden sollen (Optional, Standard=False)
  
  
  Dim fobjFSO As Object, ffsoFolder As Object, ffsoSubFolder As Object, ffsoFile As Object
  Dim intC As Integer, varFiles As Variant
  
  Set fobjFSO = CreateObject("Scripting.FileSystemObject")
  
  Set ffsoFolder = fobjFSO.GetFolder(InitialPath)
  
  On Error GoTo ErrExit
  
  If InStr(1, FileName, ";") > 0 Then
    varFiles = Split(FileName, ";")
  Else
    Redim varFiles(0)
    varFiles(0) = FileName
  End If
  For Each ffsoFile In ffsoFolder.Files
    If Not ffsoFile Is Nothing Then
      For intC = 0 To UBound(varFiles)
        If LCase(fobjFSO.GetFileName(ffsoFile)) Like LCase(varFiles(intC)) Then
          If IsArray(Files) Then
            Redim Preserve Files(UBound(Files) + 1)
          Else
            Redim Files(0)
          End If
          Set Files(UBound(Files)) = ffsoFile
          Exit For
        End If
      Next
    End If
  Next
  
  If SubFolders Then
    For Each ffsoSubFolder In ffsoFolder.SubFolders
      FileSearchINFO Files, ffsoSubFolder, FileName, SubFolders
    Next
  End If
  
  If IsArray(Files) Then FileSearchINFO = UBound(Files) + 1
  ErrExit:
  Set fobjFSO = Nothing
  Set ffsoFolder = Nothing
End Function

Gruß Sepp

Anzeige
AW: Datensicherung datumsabhängig
08.05.2010 22:52:36
Markus
Hallo Sepp,
vielen Dank für deine Hilfe; ich habe dein makro bereits ausprobiert aber bei Ausführung erhalte ich die fehlermeldung "fehler beim kompilieren - sub oder function nicht definiert".
Da ich kein VBA verstehe weiß ich nicht woran das liegen könnte. Kannst du dir das mal anschauen?
Liebe Grüsse
Markus
Was ist denn gelb markiert,...
09.05.2010 01:05:12
Luc:-?
…Markus;
diese Mitteilung würde die Fehlersuche einfacher machen, denn so fällt mir eigentl kaum etwas auf.
Könnte ja auch irgendeine DLL bei dir fehlen…
Gruß+schöSo, Luc :-?
AW: Was ist denn gelb markiert,...
09.05.2010 02:11:30
Markus
Hallo Luc,
"backup sub" ist gelb markiert ! "Keine Zuweisung an Datenfeld möglich" ist jetzt die Fehlermeldnung;
blau markiert ist "objFiles =" in der zeile Set objFiles = Nothing.
LG
Markus
Anzeige
AW: Datensicherung datumsabhängig
09.05.2010 07:51:17
Josef

Hallo Markus,
sorry, das war ein lapsus meinerseits, lösche die Zeile "Set objFiles = Nothing"

Gruß Sepp

AW: Datensicherung datumsabhängig
09.05.2010 08:51:41
Markus
Hallo Sepp,
vielen Dank für deine Korrektur. Jetzt lässt sich das makro zwar ausführen, aber es passiert nix. Kein einziges file wird kopiert. Fehlermeldung (Debugger) kommt auch nicht. Ordnernamen im makro hab ich angepasst und gecheckt die passen.
Kannst Du das vielleicht nochmal checken ?
Liebe Grüsse
Markus M.
Anzeige
AW: Datensicherung datumsabhängig
09.05.2010 08:56:12
Josef

Hallo Markus,
ich habe das Makro getestet und bei mir werden die entsprechenden Dateien kopiert.

Gruß Sepp

AW: Datensicherung datumsabhängig
09.05.2010 09:19:44
Markus
Hallo Sepp,
Vielen Dank für deine Mühe; jetzt funktioniert´s auch bei mir (hab da einen fehler gemacht). Eine Frage hätte ich noch: wo muss ich das Jahr anpassen wenn ich das makro z.B. 2011 verwenden möchte ?
Liebe Grüsse
Markus
Anzeige
AW: Datensicherung datumsabhängig
09.05.2010 09:33:04
Josef

Hallo Markus,
da musst du nichts anpassen, es wird immer das aktuelle Jahr verwendet.

Gruß Sepp

AW: Datensicherung datumsabhängig
10.05.2010 12:12:26
Markus
Hallo Sepp,
Dein Makro funktioniert im Prinzip ganz gut - es werden alle files mit dem betreffenden Erstellungsdatum gefunden und kopiert.
Das Einzige was nicht funktioniert sind die subfolder:
Wenn ich jetzt als Quellverzeichnis habe:
"E:\forum"
und darin befindet sich folgende subfolder:
"E:\forum\data\...20 subfolder data mit files"
"E:\forum\methods\...20 subfolder methods mit files"
dann erstellt das makro:
"E:\Temp\Test\20 subfolder data mit files, 20 subfolder methods mit files
d.h. es wird die verzeichnistruktur nicht beibehalten; er kopiert alle subfolder ins Zielverzeichnis
Ich weiß jetzt bin dir schon lange genug auf die Nerven gegangen aber könntest Du dir das vielleicht nochmal anschauen ?
Liebe Grüsse
Markus Markl
Anzeige
AW: Datensicherung datumsabhängig
10.05.2010 19:56:50
Josef

Hallo Markus,
so sollte die Ordnerstrucktur erhalten bleiben.

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long

Sub backup()
  Dim strSrcPath As String, strTgtPath As String, strFolder As String, strNewFolder As String
  Dim objFiles() As Object, objFSO As Object
  Dim datMinDate As Date, datMaxDate As Date, datDate As Date
  Dim lngRet As Long, lngIndex As Long, lngMonth As Long
  
  
  strSrcPath = "E:\forum" 'Quellverzeichnis - ANpassen!
  
  strTgtPath = "E:\Temp\Test\" 'Zielverzeichnis - Anpassen!
  
  strTgtPath = IIf(Right(strTgtPath, 1) <> "\", strTgtPath & "\", strTgtPath)
  
  lngMonth = Application.InputBox("Bitte gewünschtes Monat angeben:" & vbLf & _
    "(1 = Januar, 12 = Dezember)", "Monat wählen", Month(Date), Type:=1)
  
  If lngMonth = 0 Or lngMonth > 12 Then
    MsgBox "Ungültige Monatsangabe, der Vorgang wird abgebrochen!", vbInformation, "Hinweis"
    Exit Sub
  End If
  
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  
  datDate = DateSerial(Year(Date), lngMonth, 1)
  datMinDate = DateSerial(Year(datDate), Month(datDate) - 1, 27)
  datMaxDate = DateSerial(Year(datDate), Month(datDate) + 1, 1)
  
  strFolder = Format(datDate, "mmmmyy")
  
  MakeSureDirectoryPathExists strTgtPath & strFolder
  
  lngRet = FileSearchINFO(objFiles, strSrcPath, SubFolders:=True)
  
  If lngRet > 0 Then
    For lngIndex = 0 To lngRet - 1
      With objFiles(lngIndex)
        If .datecreated >= datMinDate And .datecreated <= datMaxDate Then
          strNewFolder = Mid(.Path, Len(strSrcPath))
          strNewFolder = IIf(Left(strNewFolder, 1) <> "\", "\" & strNewFolder, strNewFolder)
          MakeSureDirectoryPathExists strTgtPath & strFolder & strNewFolder
          objFSO.CopyFile objFiles(lngIndex), strTgtPath & strFolder & strNewFolder
        End If
      End With
    Next
  End If
  
  Set objFSO = Nothing
  
End Sub


Private Function FileSearchINFO(ByRef Files() As Object, ByVal InitialPath As String, Optional ByVal FileName As String = "*", _
    Optional ByVal SubFolders As Boolean = False) As Long

  
  '# PARAMETERINFO:
  '# Files: Datenfeld zur Ausgabe der Suchergebnisse
  '# InitialPath: String der das zu durchsuchende Verzeichnis angibt
  '# FileName: String der den gesuchten Dateityp oder Dateinamen enthält (Optional, Standard="*.*" findet alle Dateien)
  '# Beispiele: "*.txt" - Findet alle Textdateien
  '# "*name*" - Findet alle Dateien mit "name" im Dateinamen
  '# "*.avi;*.mpg" - Findet .avi und .mpg Dateien (Dateitypen mit ; trennen)
  '# SubFolders: Boolean gibt an, ob Unterordner durchsucht werden sollen (Optional, Standard=False)
  
  
  Dim fobjFSO As Object, ffsoFolder As Object, ffsoSubFolder As Object, ffsoFile As Object
  Dim intC As Integer, varFiles As Variant
  
  Set fobjFSO = CreateObject("Scripting.FileSystemObject")
  
  Set ffsoFolder = fobjFSO.GetFolder(InitialPath)
  
  On Error GoTo ErrExit
  
  If InStr(1, FileName, ";") > 0 Then
    varFiles = Split(FileName, ";")
  Else
    Redim varFiles(0)
    varFiles(0) = FileName
  End If
  For Each ffsoFile In ffsoFolder.Files
    If Not ffsoFile Is Nothing Then
      For intC = 0 To UBound(varFiles)
        If LCase(fobjFSO.GetFileName(ffsoFile)) Like LCase(varFiles(intC)) Then
          If IsArray(Files) Then
            Redim Preserve Files(UBound(Files) + 1)
          Else
            Redim Files(0)
          End If
          Set Files(UBound(Files)) = ffsoFile
          Exit For
        End If
      Next
    End If
  Next
  
  If SubFolders Then
    For Each ffsoSubFolder In ffsoFolder.SubFolders
      FileSearchINFO Files, ffsoSubFolder, FileName, SubFolders
    Next
  End If
  
  If IsArray(Files) Then FileSearchINFO = UBound(Files) + 1
  ErrExit:
  Set fobjFSO = Nothing
  Set ffsoFolder = Nothing
End Function

Gruß Sepp

Anzeige
Doppelt mit Fehler ;-((
10.05.2010 23:59:18
Josef

Hallo Markus,
da hat sich noch ein Fehler eingeschlichen.
Jetzt sollte es aber laufen.

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long

Sub backup()
  Dim strSrcPath As String, strTgtPath As String, strFolder As String, strNewPath As String
  Dim objFiles() As Object, objFSO As Object
  Dim datMinDate As Date, datMaxDate As Date, datDate As Date
  Dim lngRet As Long, lngIndex As Long, lngMonth As Long
  
  
  strSrcPath = "E:\forum" 'Quellverzeichnis - Anpassen!
  
  strTgtPath = "E:\Temp\Test\" 'Zielverzeichnis - Anpassen!
  
  strTgtPath = IIf(Right(strTgtPath, 1) <> "\", strTgtPath & "\", strTgtPath)
  
  lngMonth = Application.InputBox("Bitte gewünschtes Monat angeben:" & vbLf & _
    "(1 = Januar, 2 = Februar, ... 12 = Dezember)", "Monat wählen", Month(Date), Type:=1)
  
  If lngMonth = 0 Or lngMonth > 12 Then
    MsgBox "Ungültige Monatsangabe, der Vorgang wird abgebrochen!", vbInformation, "Hinweis"
    Exit Sub
  End If
  
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  
  datDate = DateSerial(Year(Date), lngMonth, 1)
  datMinDate = DateSerial(Year(datDate), Month(datDate) - 1, 27)
  datMaxDate = DateSerial(Year(datDate), Month(datDate) + 1, 1)
  
  strFolder = strTgtPath & Format(datDate, "mmmmyy")
  
  MakeSureDirectoryPathExists strFolder
  
  lngRet = FileSearchINFO(objFiles, strSrcPath, SubFolders:=True)
  
  If lngRet > 0 Then
    For lngIndex = 0 To lngRet - 1
      With objFiles(lngIndex)
        If .datecreated >= datMinDate And .datecreated <= datMaxDate Then
          strNewPath = Mid(.Path, Len(strSrcPath) + 1)
          strNewPath = IIf(Left(strNewPath, 1) <> "\", "\" & strNewPath, strNewPath)
          MakeSureDirectoryPathExists strFolder & strNewPath
          objFSO.CopyFile objFiles(lngIndex), strFolder & strNewPath
        End If
      End With
    Next
  End If
  
  Set objFSO = Nothing
  
End Sub


Private Function FileSearchINFO(ByRef Files() As Object, ByVal InitialPath As String, Optional ByVal FileName As String = "*", _
    Optional ByVal SubFolders As Boolean = False) As Long

  
  '# PARAMETERINFO:
  '# Files: Datenfeld zur Ausgabe der Suchergebnisse
  '# InitialPath: String der das zu durchsuchende Verzeichnis angibt
  '# FileName: String der den gesuchten Dateityp oder Dateinamen enthält (Optional, Standard="*.*" findet alle Dateien)
  '# Beispiele: "*.txt" - Findet alle Textdateien
  '# "*name*" - Findet alle Dateien mit "name" im Dateinamen
  '# "*.avi;*.mpg" - Findet .avi und .mpg Dateien (Dateitypen mit ; trennen)
  '# SubFolders: Boolean gibt an, ob Unterordner durchsucht werden sollen (Optional, Standard=False)
  
  
  Dim fobjFSO As Object, ffsoFolder As Object, ffsoSubFolder As Object, ffsoFile As Object
  Dim intC As Integer, varFiles As Variant
  
  Set fobjFSO = CreateObject("Scripting.FileSystemObject")
  
  Set ffsoFolder = fobjFSO.GetFolder(InitialPath)
  
  On Error GoTo ErrExit
  
  If InStr(1, FileName, ";") > 0 Then
    varFiles = Split(FileName, ";")
  Else
    Redim varFiles(0)
    varFiles(0) = FileName
  End If
  For Each ffsoFile In ffsoFolder.Files
    If Not ffsoFile Is Nothing Then
      For intC = 0 To UBound(varFiles)
        If LCase(fobjFSO.GetFileName(ffsoFile)) Like LCase(varFiles(intC)) Then
          If IsArray(Files) Then
            Redim Preserve Files(UBound(Files) + 1)
          Else
            Redim Files(0)
          End If
          Set Files(UBound(Files)) = ffsoFile
          Exit For
        End If
      Next
    End If
  Next
  
  If SubFolders Then
    For Each ffsoSubFolder In ffsoFolder.SubFolders
      FileSearchINFO Files, ffsoSubFolder, FileName, SubFolders
    Next
  End If
  
  If IsArray(Files) Then FileSearchINFO = UBound(Files) + 1
  ErrExit:
  Set fobjFSO = Nothing
  Set ffsoFolder = Nothing
End Function

Gruß Sepp

Anzeige
AW: Doppelt mit Fehler ;-((
11.05.2010 15:01:30
Markus
Hallo Sepp,
Vielen Dank für Deine Bemühungen; Du bist ein ganz ein feiner Kerl und hast dich selbst übertroffen; funktioniert genauso wie ich´s mir gewünscht hab.
In tiefster Verneigung verbleibe ich mit
lieben Grüssen
Markus
AW: Datensicherung datumsabhängig
10.05.2010 21:55:32
Josef

Hallo Markus,
so sollte die Ordnerstrucktur erhalten bleiben.

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long

Sub backup()
  Dim strSrcPath As String, strTgtPath As String, strFolder As String, strNewFolder As String
  Dim objFiles() As Object, objFSO As Object
  Dim datMinDate As Date, datMaxDate As Date, datDate As Date
  Dim lngRet As Long, lngIndex As Long, lngMonth As Long
  
  
  strSrcPath = "E:\forum" 'Quellverzeichnis - ANpassen!
  
  strTgtPath = "E:\Temp\Test\" 'Zielverzeichnis - Anpassen!
  
  strTgtPath = IIf(Right(strTgtPath, 1) <> "\", strTgtPath & "\", strTgtPath)
  
  lngMonth = Application.InputBox("Bitte gewünschtes Monat angeben:" & vbLf & _
    "(1 = Januar, 12 = Dezember)", "Monat wählen", Month(Date), Type:=1)
  
  If lngMonth = 0 Or lngMonth > 12 Then
    MsgBox "Ungültige Monatsangabe, der Vorgang wird abgebrochen!", vbInformation, "Hinweis"
    Exit Sub
  End If
  
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  
  datDate = DateSerial(Year(Date), lngMonth, 1)
  datMinDate = DateSerial(Year(datDate), Month(datDate) - 1, 27)
  datMaxDate = DateSerial(Year(datDate), Month(datDate) + 1, 1)
  
  strFolder = Format(datDate, "mmmmyy")
  
  MakeSureDirectoryPathExists strTgtPath & strFolder
  
  lngRet = FileSearchINFO(objFiles, strSrcPath, SubFolders:=True)
  
  If lngRet > 0 Then
    For lngIndex = 0 To lngRet - 1
      With objFiles(lngIndex)
        If .datecreated >= datMinDate And .datecreated <= datMaxDate Then
          strNewFolder = Mid(.Path, Len(strSrcPath))
          strNewFolder = IIf(Left(strNewFolder, 1) <> "\", "\" & strNewFolder, strNewFolder)
          MakeSureDirectoryPathExists strTgtPath & strFolder & strNewFolder
          objFSO.CopyFile objFiles(lngIndex), strTgtPath & strFolder & strNewFolder
        End If
      End With
    Next
  End If
  
  Set objFSO = Nothing
  
End Sub


Private Function FileSearchINFO(ByRef Files() As Object, ByVal InitialPath As String, Optional ByVal FileName As String = "*", _
    Optional ByVal SubFolders As Boolean = False) As Long

  
  '# PARAMETERINFO:
  '# Files: Datenfeld zur Ausgabe der Suchergebnisse
  '# InitialPath: String der das zu durchsuchende Verzeichnis angibt
  '# FileName: String der den gesuchten Dateityp oder Dateinamen enthält (Optional, Standard="*.*" findet alle Dateien)
  '# Beispiele: "*.txt" - Findet alle Textdateien
  '# "*name*" - Findet alle Dateien mit "name" im Dateinamen
  '# "*.avi;*.mpg" - Findet .avi und .mpg Dateien (Dateitypen mit ; trennen)
  '# SubFolders: Boolean gibt an, ob Unterordner durchsucht werden sollen (Optional, Standard=False)
  
  
  Dim fobjFSO As Object, ffsoFolder As Object, ffsoSubFolder As Object, ffsoFile As Object
  Dim intC As Integer, varFiles As Variant
  
  Set fobjFSO = CreateObject("Scripting.FileSystemObject")
  
  Set ffsoFolder = fobjFSO.GetFolder(InitialPath)
  
  On Error GoTo ErrExit
  
  If InStr(1, FileName, ";") > 0 Then
    varFiles = Split(FileName, ";")
  Else
    Redim varFiles(0)
    varFiles(0) = FileName
  End If
  For Each ffsoFile In ffsoFolder.Files
    If Not ffsoFile Is Nothing Then
      For intC = 0 To UBound(varFiles)
        If LCase(fobjFSO.GetFileName(ffsoFile)) Like LCase(varFiles(intC)) Then
          If IsArray(Files) Then
            Redim Preserve Files(UBound(Files) + 1)
          Else
            Redim Files(0)
          End If
          Set Files(UBound(Files)) = ffsoFile
          Exit For
        End If
      Next
    End If
  Next
  
  If SubFolders Then
    For Each ffsoSubFolder In ffsoFolder.SubFolders
      FileSearchINFO Files, ffsoSubFolder, FileName, SubFolders
    Next
  End If
  
  If IsArray(Files) Then FileSearchINFO = UBound(Files) + 1
  ErrExit:
  Set fobjFSO = Nothing
  Set ffsoFolder = Nothing
End Function

Gruß Sepp

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige