Clever-Excel-Forum

Normale Version: VBA - Mappe speichern + Backup
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
Okaaaaaayyyy...

ich weiß nicht, ob ich das auf dem Arbeitsrechner so abspielen darf - von daher bleibe ich erst ein Mal bei VBA. Aber danke :)
Hi Ralf,

Forfiles kannte ich noch nicht.   Thumps_up

Gruß Uwe
(07.12.2018, 09:57)EasY schrieb: [ -> ]Okaaaaaayyyy...

ich weiß nicht, ob ich das auf dem Arbeitsrechner so abspielen darf - von daher bleibe ich erst ein Mal bei VBA. Aber danke :)

Hallo, :19:

alles easy EasY. :21:

Probiere es doch mal in einem Testordner aus. Kopiere dort ein paar Dateien von heute rein und ein paar alte Files. Passe dann den Pfad im Code an und lasse ihn mal laufen.

Der macht nichts böses (außer, Du gibst ein falsches Verzeichnis an und lässt das Suchmuster auf *.*). :05:
Hallo Ralf,

Danke für Deine Info.
Ich kann mich allerdings nicht daran erinnern, geschrieben zu haben, daß er Call nicht einsetzen darf.

In meiner Erinnerung habe ich geschrieben, daß das unnötig ist.
Allerdings war der Post sehr früh am Tage. Somit schließe ich nicht aus, daß ich mich etwas
unglücklich ausgedrückt haben könnte.
(07.12.2018, 09:31)EasY schrieb: [ -> ]Wenn ich keinen Denkfehler habe, ist doch das älteste Erstelldatum dann auch gleichzeitig das älteste Speicherdatum ... oder?

Nun, ein Erstelldatum lässt sich (für Otto-Normalo) nicht ändern.
Eine Datei kann ich jederzeit neu speichern, auch ohne Änderungen vorgenommen zu haben und habe somit einen neuen Timestamp.

@Case:
Deine Shell filtert doch nicht nach dem ältesten Erstelldatum, sondern löscht alles älter als 8 Tage.
Oder liege ich da falsch?

Gruß Ralf
Verzichte auf Leerzeichen in Pathnames und Filenames.

Zum testen:


Code:
Sub M_snb()
    c00 = CreateObject("wscript.shell").SpecialFolders(4) & "\" & Range("H1") & "-*.xlsm"
    
    MsgBox Split(CreateObject("wscript.shell").exec("cmd /c dir """ & c00 & """ /b/o d").stdout.readall, vbCrLf)(0)
End Sub

Wenn's klappt, dann einer Einszeiler:

Code:
Sub M_snb()
  Kill Split(CreateObject("wscript.shell").exec("cmd /c dir """ & CreateObject("wscript.shell").SpecialFolders(4) & "\" & Range("H1") & "-*.xlsm"" /b/o d").stdout.readall, vbCrLf)(0)
End Sub
Hi Leute,

ich melde mich aufgrund der Arbeit jetzt erst wieder ... endlich Feierabend :)

Wow, ich habe größten Respekt vor so pfiffigen Lösungen @Case @snb .
Allerdings wären noch ein paar Erläuterungen super ... was genau macht dein Code nun? Es handelt sich hierbei nicht um VBA, richtig? Was dann?

Welche Stellschrauben - sprich Angaben - kann ich noch verändern und was wird noch benötigt? "c" "b" "o" etc ... wo definiere ich die?

Ach und was meinst du mit "verzichte auf Leerzeichen (...)" - funktioniert der Code sonst nicht oder meinst du nur grds.?


Tut mir Leid für die vielen Fragen aber du hast einen Themenbereich aufgestoßen, der für mich so nicht ganz zugängig ist ... bisher :)


Gruß und nochmal vielen Dank euch bis dahin!
1. Hast du die Leerzeichen entfernt ?
2. Hast du den Code gstestet ?
3. Das ist noch alles 100% VBA
Ich habe eine Datei in einen Testordner verschoben, die Leerzeichen entfernt und drei Mal kopiert. Dabei habe ich manuell den Timestamp im Dateinamen verändert und auch eine Speicherung vorgenommen, sodass die Veränderungsdaten unterschiedlich sind.

Anschließend habe ich deinen ersten Code ausgeführt und er meckerte direkt bei "c00", dass die Variable nicht definiert sei .... :(

P.S.: Code wurde in ein Modul geschoben ... oder muss das in die "Diese Arbeitsmappe"?
Lösche 'Option Explicit'
Seiten: 1 2 3 4