Excel VBA makro zum kopieren von Dateien von einem Speicherort zu einem anderen auf der Grundlage der Datei-Pfad in der Spalte
Ich gesucht habe durchaus ein paar andere /ähnliche Themen, aber nicht in der Lage waren, mir zu helfen bekommen, was ich brauche.
Habe ich eine Liste von Datei-Pfade in Spalte A, muss ich kopieren Sie jede Datei in ein Verzeichnis, das genau die gleiche Ordner-Pfad (wie ein Backup wiederhergestellt wird).
So, ein makro durchläuft Spalte a und Spalte kopiert eine Datei und füge ihn in Spalte B Ort
Spalte A
C:\Users\user\Desktop\Test\test1\test1d.txt
C:\Users\user\Desktop\Test\test2\test2d.txt
C:\Users\user\Desktop\Test\test3\test3d.txt
...
Spalte B
D:\Users\Benutzer\Desktop\Test\test1\
D:\Users\user\Desktop\Test\test2\
D:\Users\user\Desktop\Test\test3\
...
Ich weiß, es wäre einfach nur das zu tun, eins nach dem anderen, aber ich habe über 8.000 Dateien, die ich brauche, um grundsätzlich zu kopieren, und fügen Sie Sie. auf ein Laufwerk hatte, dass einige 180gbs Dateien auf ihm.
- Siehe rondebruin.nl/win/s3/win026.htm
searched quite a few different / similar topics, but non were able to help
@tigeravatar hat dies mehrmals getan hier bei SO.- Können Sie einen link zu mir? ich meine, ich habe schon googeln den ganzen Tag, und dann habe ich gelesen und versucht, über 6 oder so auf mich hier.
- Daneben, dass man nicht tut, was ich brauche, es zu tun. dass one erschien zum kopieren von Verzeichnissen als eine form mit vba zu tun, ein back-up, nicht unbedingt ein restore... es Kopien, die Sie an ein vorgegebenes Ziel... und der code oben, das speziell sagt, es wird nur 1 zu einer Zeit. Vielleicht lese ich das falsch, oder ich verstehe einfach nicht, wie es war, aber es scheint nicht zu sein, was ich mache...
- Daneben finden Sie in diesem Teil, die Kopie von & zwei statisch sind, meine sind auch varieren, durch die Reihe.Sub Copy_Folder() 'Dieses Beispiel kopiert alle Dateien und Unterordner aus FromPath zu ToPath. 'Hinweis: Wenn ToPath bereits existieren, wird es überschreiben Sie vorhandene Dateien in diesen Ordner", wenn ToPath nicht vorhanden, es wird für Sie gemacht. Dim FSO As Object Dim FromPath As String Dim ToPath As String FromPath = "C:\Users\Ron\Data" '<< Ändern ToPath = "C:\Users\Ron\Test" '<< Ändern
- findwindow - ich habe gerade eine Suche für @tigeravatar, und keiner seiner Ausführungen auch nur im entferntesten nahe zu kommen, was ich verlange. vielen Dank für die Richtung, obwohl
- stackoverflow.com/questions/35726602/... tut dies für eine Zeile brauchen Sie nur eine Schleife. Und es gibt ein paar andere, nicht ganz so relevant.
- Jerry - für jetzt, dies ist eine, die ich versuche, mit zu arbeiten, bisher ohne Glück. ich halte den thread aktualisiert, wenn bin ich erfolgreich. Ich bin mir nicht bewusst, wie man es an die Schleife, aber wenn ich könnte es tun, nur ein Erster, kann ich wohl schauen, wie man die Quelle Weg-und dst-Pfad-Schleife
- stackoverflow.com/questions/18617349/...
- ich habe meine Lösung gelöst in die Antworten. Danke für alle, die wertvolle Informationen zur Verfügung gestellt.
- findwindow, das ist definitiv nicht zu dieser. das sind excel-Formeln, keine Makros. es ist auch nicht kopieren oder einfügen einer Datei in keinster Weise.
- findwindow - bitte Lesen Sie die gesamte Frage vor der Beantwortung der nächsten Zeit, die Sie sparen würde uns allen unnötigen ärger. ich glaube, Sie sah nur auf die Spalte A und Spalte B und angenommen ich wollte in der B-Spalte die Ergebnisse, das ist definitiv hier nicht der Fall.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schleife über die Zeilen und verwenden Sie FileCopy, so etwas wie (ich bin frei eingeben diesen, so müssen Sie möglicherweise zum Debuggen)
Ich weiß nicht, ob müssen Sie den Namen der Datei auf dem Ziel, wie ich noch nie verwendet, die FileCopy-Funktion, aber wenn Sie tun, ich bin sicher, Sie können die Quelle aus Spalte A, ohne Hilfe von mir. Hinweis Split und Ubound, um es zu bekommen
Bitte versuchen Sie es wie folgt.
Kopieren oder Verschieben einer Datei
Für eine Datei Sie können die VBA-Namen und die FileCopy-Funktion und für ganze Ordner oder eine Menge von Dateien verwenden, die anderen makro-Beispiel ist auf dieser Seite.
Kopieren oder verschieben Sie mehrere Dateien oder komplette Ordner
Hinweis: Lesen Sie die kommentierte code-Zeilen in den code
Finden Sie alle details über den link unten.
http://www.rondebruin.nl/win/s3/win026.htm
Ok,
Also von dem, was ich in der Lage gewesen zu vervollständigen, hier ist der code, den ich manipuliert, von
excel-vba-makro-kopieren von mehreren Dateien von Ordner zu Ordner
Sub copy()
Dim r As Long
Dim SourcePath As String
Dim dstPath As String
Dim myFile As String
On Error GoTo ErrHandler
For r = 2 To Range("A" & Rows.Count).End(xlUp).Row
SourcePath = Range("C" & r)
dstPath = Range("D" & r)
myFile = Range("A" & r)
FileCopy SourcePath & "\" & myFile, dstPath & "\" & myFile
If Range("A" & r) = "" Then
Exit For
End If
Next r
MsgBox "The file(s) can found in: " & vbNewLine & dstPath, , "COPY COMPLETED"
ErrHandler:
MsgBox "Copy error: " & SourcePath & "\" & myFile & vbNewLine & vbNewLine & _
"File could not be found in the source folder", , "MISSING FILE(S)"
Range("A" & r).copy Range("F" & r)
Resume Next
End Sub
Code unten funktioniert gut für mich. Aber es ist nicht in der Lage, Dateien kopieren, Dateien aus Unterordnern