Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1744to1748
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 in Schleife

Dateien verschieben in Schleife
13.03.2020 13:26:59
FrankH
Moin, ich habe folgendes Thema.
ich habe einen Ordner mit Dateien, per Button werden die Dateiname in Sheet(Dateien) in Spalte 1 eingelesen.
Die Liste wird nun manuell mit weiteren Infos aufgefüllt, ein neuer Name in Spalte 3 generiert und per Button werden die Dateien umbenannt .
Nach erfolgreicher Umbenennung erscheint eine Messagebox und fragt, ob die Dateien nun verschoben werden sollen.
Bis hierher funktioniert es.
Die Dateien sollen nun entsprechend der Liste (Zeilen i) nacheinander in bestimmte Ordner verschoben werden, die Ordnernamen befinden sich in Spalte 10 und Spalte 11.
Problem ist nun, dass nur eine Datei verschoben wird, danach kommt die Meldung "Laufzeitfehler '53' Datei nicht gefunden" und der Debugger zeigt auf "FSO.MoveFile Quelle, Ziel".
Was kann es sein, warum wird nicht die nächste folgende Datei verschoben?
'Dateien verschieben
If MsgBox("Umbenennen beendet, Dateien jetzt verschieben?", vbYesNo + vbQuestion) = vbYes Then
'Da Spaltenueberschrift beginne in Zeile 2
i = 2
Quelle = Range("Ordner") & "\" & sh.Cells(i, 3)
If Dir(Quelle) = "" Then
MsgBox "Keine Dateien vorhanden!"
Else
Set sh = Sheets("Dateien")
Ziel = "C:\Testordner2\" & sh.Cells(i, 10) & "\" & sh.Cells(i, 11) & "\"
Set FSO = CreateObject("Scripting.FileSystemObject")
Do
FSO.MoveFile Quelle, Ziel
'Set FSO = Nothing
i = i + 1
Loop Until Range("Ordner") = ""
MsgBox "Dateien wurden verschoben"
End If
End If

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateien verschieben in Schleife
13.03.2020 14:02:55
EtoPHG
Hallo Frank
Du setzt die Variable Quelle & Ziel genau 1mal
Der Do für die Iteration ist viel zu weit unten im Code, er gehört vor das Setzen der Quelle
Gruess Hansueli
AW: Dateien verschieben in Schleife
13.03.2020 14:03:58
UweD
Hallo
ungetestet.....
Ziel (I) muss doch hochzählen. Deshalb innerhalb die Do /Loop Schleife.
    'Dateien verschieben 
    If MsgBox("Umbenennen beendet, Dateien jetzt verschieben?", vbYesNo + vbQuestion) = vbYes Then
        'Da Spaltenueberschrift beginne in Zeile 2 
        i = 2
        Quelle = Range("Ordner") & "\" & sh.Cells(i, 3)
        If Dir(Quelle) = "" Then
            MsgBox "Keine Dateien vorhanden!"
        Else
            Set sh = Sheets("Dateien")
            Set FSO = CreateObject("Scripting.FileSystemObject")
            Do
                Ziel = "C:\Testordner2\" & sh.Cells(i, 10) & "\" & sh.Cells(i, 11) & "\"
                FSO.MoveFile Quelle, Ziel
                'Set FSO = Nothing 
                i = i + 1
            Loop Until Range("Ordner") = ""
            MsgBox "Dateien wurden verschoben"
        End If
        
    End If

LG UweD
Anzeige
AW: Dateien verschieben in Schleife
13.03.2020 14:09:52
UweD
Gilt ja auch für Quelle...
Musst du komplett umbauen
AW: Dateien verschieben in Schleife
13.03.2020 14:15:28
FrankH
Vielen Dank für den Hinweis, ich versuche mal es hinzubekommen.
AW: Dateien verschieben in Schleife
13.03.2020 16:51:19
FrankH
Vielen Dank, hat funktioniert!
Danke für die Rückmeldung. (owT)
16.03.2020 09:49:24
UweD

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige