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

Dateien verschieben

Dateien verschieben
14.05.2019 17:38:12
Michael
Hallo Zusammen,
ich bekomme folgendes Problem nicht in den Griff:
In einem Verzeichnis sind sehr viele Dateien. Die Dateien haben beim Namen immer denselben Aufbau: Name_Name2_Datum.csv
Wobei das Datum immer im Format: YYYYMMTT verwendet wird.
Ich muss nun alle Dateien, deren Datum größer als ein in A1 hinterlegtes Datum ist, in anderes Verzeichnis kopieren.
Vielen Dank für Eure Unterstützung
Michael

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

Betreff
Datum
Anwender
Anzeige
AW: Dateien verschieben
14.05.2019 19:15:58
Sepp
Hallo Michael,
so?
Modul Modul1
Option Explicit 
 
Sub kopiereDateien() 
  Dim strFile As String, varTemp As Variant, strTemp As String, lngCount As Long, datDate As Date, datCheck As Date 
 
  Const SOURCE_PATH As String = "D:\Downloads\Forum\"         'Quellpfad - Anpassen! 
  Const TARGET_PATH As String = "D:\Downloads\Forum\Test\"    'Quellpfad - Anpassen! 
 
  datDate = Range("A1").Value 
 
  If Dir(TARGET_PATH, vbDirectory) <> "" Then 
    strFile = Dir(SOURCE_PATH & "*.csv", vbNormal) 
   
    Do While strFile <> "" 
      If strFile Like "*_*_########.csv" Then 
        varTemp = Split(strFile, "_") 
        strTemp = Left(varTemp(Ubound(varTemp)), 8) 
        datCheck = DateSerial(Left(strTemp, 4), Mid(strTemp, 5, 2), Right(strTemp, 2)) 
        If datCheck > datDate Then 
          lngCount = lngCount + 1 
          Name SOURCE_PATH & strFile As TARGET_PATH & strFile 
        End If 
      End If 
      strFile = Dir 
    Loop 
    If lngCount > 0 Then 
      MsgBox "Es wurde" & IIf(lngCount > 1, "n ", " ") & CStr(lngCount) & " Datei" & _
              IIf(lngCount > 1, "en", "") & " verschoben!", vbInformation 
    Else 
      MsgBox "Es wurden keine Dateien gefunden!", vbInformation 
    End If 
  Else 
    MsgBox "Das Zielverzeichnis '" & TARGET_PATH & "' wurde nicht gefunden!", vbExclamation 
  End If 
End Sub 

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


Anzeige
Super, mit Rückfrage
14.05.2019 19:29:32
Michael
Hallo Sepp,
läuft super!
Hätte ich in einer Woche nicht geschafft.
Noch eine letzte Frage: wie muss ich das Makro modifizieren, wenn ich nicht verschieben, sondern mal kopieren muss?
Vielen Dank auch und noch einen schönen Abend
Michael
AW: Super, mit Rückfrage
14.05.2019 19:38:06
Sepp
Hallo Michael,
kopieren geht so.
Sub kopiereDateien()
  Dim strFile As String, varTemp As Variant, strTemp As String, lngCount As Long, datDate As Date, datCheck As Date

  Const SOURCE_PATH As String = "D:\Downloads\Forum\"         'Quellpfad - Anpassen! 
  Const TARGET_PATH As String = "D:\Downloads\Forum\Test\"    'Quellpfad - Anpassen! 

  datDate = Range("A1").Value

  If Dir(TARGET_PATH, vbDirectory) <> "" Then
    strFile = Dir(SOURCE_PATH & "*.csv", vbNormal)
  
    Do While strFile <> ""
      If strFile Like "*_*_########.csv" Then
        varTemp = Split(strFile, "_")
        strTemp = Left(varTemp(Ubound(varTemp)), 8)
        datCheck = DateSerial(Left(strTemp, 4), Mid(strTemp, 5, 2), Right(strTemp, 2))
        If datCheck > datDate Then
          lngCount = lngCount + 1
          Call FileCopy(SOURCE_PATH & strFile, TARGET_PATH & strFile)
        End If
      End If
      strFile = Dir
    Loop
    If lngCount > 0 Then
      MsgBox "Es wurde" & IIf(lngCount > 1, "n ", " ") & CStr(lngCount) & " Datei" & _
              IIf(lngCount > 1, "en", "") & " kopiert!", vbInformation
    Else
      MsgBox "Es wurden keine Dateien gefunden!", vbInformation
    End If
  Else
    MsgBox "Das Zielverzeichnis '" & TARGET_PATH & "' wurde nicht gefunden!", vbExclamation
  End If
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


Anzeige
Prima!! owT
14.05.2019 19:50:36
Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige