Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
284to288
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
284to288
284to288
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Mehrere Verzeichnisse kopieren - vorher löschen

Mehrere Verzeichnisse kopieren - vorher löschen
29.07.2003 15:51:31
Erich
Wie kann man 7 Verzeichnisse, deren Verzeichnisname u. Pfad in A1 – A7 steht mit Makro kopieren auf C:\Sicherung
z.B. Z:\Fibu\Verzeichnis1
Z:\Fibu\Verzeichnis2
usw....
Es sollen aber diese Verzeichnisse in C:\Sicherung gelöscht werden wenn sie vorhanden sind.
Vielen Dank im Voraus
Erich

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

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Verzeichnisse kopieren - vorher löschen
30.07.2003 00:20:04
Klaus Schubert
Hallo Erich,
versuch's mal hiermit (in ein normales Modul kopieren):

Sub VerzeichnisseSichern()
Dim fs As Object, intCounter As Integer
Dim Quellverzeichnis As String, Zielverzeichnis As String, Löschverzeichnis As String
Zielverzeichnis = "C:\Sicherung\"
Set fs = CreateObject("Scripting.FileSystemObject")
For intCounter = 1 To 7
Quellverzeichnis = Cells(intCounter, 1).Value
On Error GoTo VerzeichnisVorhanden
fs.CopyFolder Quellverzeichnis, Zielverzeichnis, False
Next intCounter
Exit Sub
VerzeichnisVorhanden:
If Err.Number = 76 Then
MsgBox "Das zu kopierende Verzeichnis " & Chr(34) & Cells(intCounter, 1) & Chr(34) & _
" und/oder das Zielverzeichnis " & Chr(34) & Zielverzeichnis & Chr(34) & " existiert nicht !" _
& vbCr & "(Der Vorgang wird abgebrochen !)", vbCritical
Exit Sub
End If
If Err.Number = 58 Then ' Fehlernummer auswerten 58= Datei existiert schon
Löschverzeichnis = fs.GetBaseName(Quellverzeichnis)
fs.DeleteFolder Zielverzeichnis & Löschverzeichnis, True
End If
Err.Clear
Resume
End Sub

Ich bin mir nur nicht ganz sicher, was du damit meinst, dass Verzeichnisse gelöscht werden sollen, wenn sie schon vorhanden sind. Bei meinem Code wird das alte Verzeichnis zuerst komplett gelöscht, dann aber wieder eine aktuelle Sicherungskopie des Verzeichnis angelegt, oder soll das Verzeichnis nach dem Löschen gar nicht mehr vorhanden sein ???
Man könnte mit der CopyFolder-Methode auch einfach die alten Verzeichnisse überschreiben lassen, allerdings sind dann alte Dateien, welche nicht überschrieben wurden (weil sie in dem aktuellen Verzeichnis vielleicht nicht mehr vorhanden waren und somit die alten Dateien nicht überschreiben konnten !),in der neuen Sicherungskopie weiter vorhanden, was vielleicht nicht erwünscht ist (oder gerade doch !)
Ich hoffe , es war einigermaßen verständlich.
Gruß Klaus

Anzeige
AW: Mehrere Verzeichnisse kopieren - vorher löschen
31.07.2003 10:34:54
Erich
Hallo Klaus,
Ich war 2 Tage außer Haus. Deswegen habe ich erst heute das Makro prüfen können.Vielen Dank, das Makro funktioniert super. Nur der Code MsgBox hat einen Syntaxfehler. Ich habe die Meldung mal inaktiviert, aber es wäre schon schön wenn ein Hinweis auf einen Fehler kommt. Vielleicht könntest Du nochmals draufschauen.
Vielen Dank.
Gruß
Erich

AW: Mehrere Verzeichnisse kopieren - vorher löschen
31.07.2003 20:28:17
Klaus Schubert
Hallo Erich,
bei mir funktioniert der MsgBox-Code einwandfrei. Hast du geprüft, ob du den Code genau so übernommen hast, wie er hier steht ?
Der MsgBox-Code ist in drei Zeilen aufgeteilt , welche mit einem Unterstrich verbunden werden, damit sie als eine Befehlszeile
ausgewertet werden. Dieser Code muß also genau so übernommen werden, auch mit den entsprechenden Leerzeichen.
Es darf auch keine Leerzeile zwischen diesen drei Zeilen sein und der Zeilenumbruch muß hinter dem Unterstrich erfolgen.
Ansonsten kannst du diese Zeile auch ohne die Unterstriche benutzen, dann muß der MsgBox-Code aber in einer
durchgehenden Befehlszeile stehen (also keine Return-Taste zwischen dem Code drücken), z.B. so :

Sub VerzeichnisseSichern()
'... der andere Code ...
MsgBox "Das zu kopierende Verzeichnis " & Chr(34) & Cells(intcounter, 1) & Chr(34) & " und/oder das Zielverzeichnis " & Chr(34) & Zielverzeichnis & Chr(34) & " existiert nicht !" & vbCr & "(Der Vorgang wird abgebrochen !)", vbCritical
End Sub

Viel Glück !
Gruß Klaus

Anzeige
AW: Mehrere Verzeichnisse kopieren - vorher löschen
01.08.2003 12:29:06
Erich
Hallo Klaus,
danke jetzt funktioniert es. Ich weiß nicht warum vorher nicht.
Gruß
Erich

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige