XLK-Erstellen nachträglich
19.06.2009 12:11:57
Peter
Diese Frage habe ich auch schon in Officeloesung gestellt, da haben auch viele Leute reingesehen, aber leider war bisher kein Lösungsvorschlag dabei. Daher hier nochmal die Frage, weil ich sonst ein sehr langes und ermüdendes Szenario vor mir habe:
ich habe hier in diversen Verzeichnissen einige hundert xls-Dateien "geerbt", bei denen die Verursacher die Option "Sicherungskopie erstellen" nicht aktiviert haben. Diese jetzt alle manuell einzeln zu öffnen und unter einem anderen Namen zu speichern und dabei diese Option zu setzen, wäre eine Heidenarbeit.
Gibt es vielleicht unter VBA die Möglichkeit, alle xls-Dateien eines Verzeichnisses nachträglich mit dieser Option auszurüsten, so dass nach und nach bei jeder neuen Bearbeitung die entsprechenden xlk-Files angelegt werden?
Denkbar wäre auch eine Lösung in der Art:
öffne die erste xls-Datei im manuell ausgewählten Verzeichnis
speichern unter [Dateinamen].xls vergeben
Option Sicherungskopie erstellen setzen
speichern durchführen (Überschreiben bejahen)
Nächste Datei holen
wenn keine xls-mehr im Verzeichnis ist, ende des Makros
Ich habe selbst kaum VBA-Kenntnisse und habe daher mal mit dem Makrorekorder aufgezeichnet, was passieren soll.
Hier also gezielt eine einzelne Datei geändert, allerdings ohne den Dateinamen zu verändern:
'
Sub xlkeinschalten()
' Dieser Excel-Makro öffnet die angegebene Datei
' setzt mit -datei-speichern unter-extras-sicherheitskopie erstellen die option _
sicherheitskopie
'speichert die datei
'und schliesst die angegebene Datei
Workbooks.Open Filename:="D:\workarea\Mappe1.xls"
ActiveWorkbook.SaveAs Filename:="D:\workarea\Mappe1.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=True
ActiveWorkbook.Close
End
Sub
Was ich jetzt bräuchte wäre einfach der Loop, dass alle Dateien im gerade aktuellen Verzeichnis _
der Reihe nach so behandelt werden, bis die letzte Datei verarbeitet ist.
Also:
Ich gehe in das erste Verzeichnis (wähle ich manuell aus)
Wähle die erste Datei aus
Wähle Makro-xlkeinschalten aus - ausführen
und dann soll über alle xls-Dateien des aktuellen verzeichnisses diese Option eingeschaltet _
werden. Es ist sichergestellt, dass keine passwortgeschützten Dateien vorhanden sind und es sind reinrassig nur xls-Dateien in diesem Verzeichnis. Vielleicht kann mir da jemand den Code für den Loop dazuschreiben?
Danke schön & schönes Wochenende
Peter