Anzeige
Archiv - Navigation
1468to1472
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

Nur Dateien der letzten 3 Monate kopieren

Nur Dateien der letzten 3 Monate kopieren
19.01.2016 17:07:23
hasiro
Wie kann ich in Excel nur Die Dateien mit der Endung *.csv der letzten 3 Monate kopieren? In meinem jetzigen Skript wird mir immer alles kopiert.
Grüsse aus der Schweiz

Private Sub Workbook_Open()
Dim FSO As Object
Dim src As String
Dim dst As String
src = "G:\BU Medical\MED Production\MED Assembling\MED Seriedocu\40-Consumables_Dossier\20 E- _
Ventile und Membranen C1T1MR1\10 EVPS_PBM785399\*.csv"
dst = "G:\BU Medical\MED Production\MED Product and Process Care\MED Process Care\30  _
Prozessunterhalt\40-Prozessdaten Auswertung Consumables\E-Ventil Statistik\EVPSdaten\"
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile src, dst, True
Exit Sub
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur Dateien der letzten 3 Monate kopieren
19.01.2016 19:52:28
Michael
Hallo hasiro,
wenn man das Beispiel aus https://www.herber.de/mailing/Arbeitsmappe_blitzschnell_kopieren.htm etwas ändert und stattdessen den Kommandozeilenbefehl xcopy verwendet, rennt es.
Du mußt halt Deine Pfadangaben wieder einsetzen...
Option Explicit
Public Const PROCESS_QUERY_INFORMATION = &H400
Public Const WAIT_TIMEOUT = &H102&
Declare Function OpenProcess Lib "kernel32" ( _
ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long
Declare Function WaitForSingleObject Lib "kernel32" ( _
ByVal hHandle As Long, _
ByVal dwMilliseconds As Long) As Long
Sub Win32WaitTilFinished(ProgEXE As String)
Dim ProcessID As Long
Dim hProcess As Long
Dim RetVal As Long
ProcessID = Shell(ProgEXE, vbHide)
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, ProcessID)
Do
DoEvents
RetVal = WaitForSingleObject(hProcess, 50)
Loop Until RetVal  WAIT_TIMEOUT
MsgBox ProcessID
End Sub
Sub Kopieren()
Dim src As String
Dim dst As String
Dim monat As Long, jahr As Long
Dim sFile As String, sPath As String
src = "c:\A_Herber\*.xls"
dst = "C:\Dein_Ordner\Dein_Unterordner\"
' aus der Hilfe von xcopy:
'/D:M-T-J  Kopiert nur die an oder nach dem Datum ge„nderten Dateien.
'            Ist kein Datum angegeben, werden nur Dateien kopiert,
'            die neuer als die bestehenden Zieldateien sind.
monat = Month(Now) - 3: jahr = Year(Now)
If monat 
Für 64-bit muß das allerdings leicht geändert werden.
Es gibt auch eine FSO-Alternative, sinngemäß hier nachzulesen:
http://stackoverflow.com/questions/26241927/copying-files-from-one-folder-to-another-using-vba
Schöne Grüße,
Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige