Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1492to1496
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

fso.MoveFile mit Fehler "Datei nicht gefunden".

fso.MoveFile mit Fehler "Datei nicht gefunden".
06.05.2016 20:00:41
Matthias
Hallo zusammen
Ich verschiebe in einem Ordner mit zig Tausend Dateien, eine nach der anderen von A nach B. Da ich nach dem Verschieben noch einige Änderungen per Makro durchführe, dauert das ewig für so viele Files. Ich möchte also mein Makro mehrmals auf ein paar verschiedenen PC's starten.
Was mache ich allerdings, wenn das eine Makro eine der Dateien verschieben will die schon weg ist? :)
Kann man den fso.MoveFile Befehl ohne Fehlermeldung ausführen oder den Fehler umgehen und einfach weitermachen?
Script sieht so aus:
Sub MarkoVerschieben()
Dim fso As Object
Dim pStr As String
Application.DisplayAlerts = False
Start:
pStr = "XX"
Ablagepfad = "XX\OK\"
For i = 1 To 20000
myFile = Dir(pStr & Application.PathSeparator & "*.xls?")
AktuellerDateiName = pStr & Application.PathSeparator & myFile
DateiNameNeuerOrt = Ablagepfad & Application.PathSeparator & myFile
If myFile = "" Then Exit Sub
On Error GoTo Start
Set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile AktuellerDateiName, Ablagepfad
On Error GoTo Start
Workbooks.Open Filename:=DateiNameNeuerOrt
.... Überarbeitung der Files ....
ActiveWorkbook.Save
ActiveWorkbook.Close
Next
End Sub
Vielen Dank für eure Hilfe :)
Matthias

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

Betreff
Datum
Anwender
Anzeige
AW: fso.MoveFile mit Fehler "Datei nicht gefunden".
07.05.2016 11:08:54
Nepumuk
Hallo,
teste mal:
Public Sub MarkoVerschieben()
    
    Dim fso As Object, objWorkbook As Workbook
    Dim pStr As String, Ablagepfad As String
    Dim DateiNameNeuerOrt As String, myFile As String
    Dim lngIndex As Long
    
    pStr = "XX\"
    Ablagepfad = "XX\OK\"
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    myFile = Dir$(pStr & "*.xls*")
    
    Do Until myFile = vbNullString
        
        DateiNameNeuerOrt = Ablagepfad & myFile
        
        Call fso.MoveFile(pStr & myFile, Ablagepfad)
        
        
        Set objWorkbook = Workbooks.Open(Filename:=DateiNameNeuerOrt)
        
        '.... Überarbeitung der Files ....
        
        Call objWorkbook.Close(SaveChanges:=True)
        
        myFile = Dir$
        
    Loop
    
    Set fso = Nothing
End Sub

Gruß
Nepumuk

Anzeige
AW: fso.MoveFile mit Fehler "Datei nicht gefunden".
07.05.2016 11:38:27
Nepumuk
Hallo nochmal,
besser so:
Public Sub MarkoVerschieben()
    
    Dim fso As Object, objWorkbook As Workbook
    Dim pStr As String, Ablagepfad As String
    Dim DateiNameNeuerOrt As String, myFile As String
    
    pStr = "XX\"
    Ablagepfad = "XX\OK\"
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    myFile = Dir$(pStr & "*.xls*")
    
    Do Until myFile = vbNullString
        
        DateiNameNeuerOrt = Ablagepfad & myFile
        
        Call fso.MoveFile(pStr & myFile, Ablagepfad)
        
        Set objWorkbook = Workbooks.Open(Filename:=DateiNameNeuerOrt)
        
        '.... Überarbeitung der Files ....
        
        Call objWorkbook.Close(SaveChanges:=True)
        
        Set objWorkbook = Nothing
        
        myFile = Dir$
        
    Loop
    
    Set fso = Nothing
End Sub

Gruß
Nepumuk

Anzeige
AW: fso.MoveFile mit Fehler "Datei nicht gefunden".
08.05.2016 09:51:34
Matthias
Hey Nepumuk. Vielen Dank für den Input. Es geht schon schneller so :)
Zwei Scripts gleichzeitig laufen lassen kann ich aber noch immer nicht ....

AW: fso.MoveFile mit Fehler "Datei nicht gefunden".
08.05.2016 10:03:09
Nepumuk
Hallo,
die werden sich immer ins Gehege kommen wenn du das auf mehreren Rechnern startest. Was passiert den genau in: .... Überarbeitung der Files .... eventuell lässt sich das ja beschleunigen.
Gruß
Nepumuk

AW: fso.MoveFile mit Fehler "Datei nicht gefunden".
08.05.2016 14:44:03
Matthias
Hi Nepumuk
Nur das da :)
Columns("D:D").Select
Selection.Delete Shift:=xlToLeft
Columns("E:E").Select
Selection.Insert Shift:=xlToRight
Selection.Insert Shift:=xlToRight
Selection.Insert Shift:=xlToRight
Columns("M:M").Select
Selection.Delete Shift:=xlToLeft
Columns("N:N").Select
Selection.Delete Shift:=xlToLeft
Range("N1").Select
Das Problem ist eher dass auf meinem (langsamen) Geschäfts PC nur etwa 30 Excel-Datein pro Minute verarbeitet werden ;)
Gruss Matthias

Anzeige
AW: fso.MoveFile mit Fehler "Datei nicht gefunden".
08.05.2016 19:25:59
Nepumuk
Hallo,
ich würde an deiner Stelle die Dateien auf verschiedene Ordner verteilen und von dort aus verarbeiten.
Gruß
Nepumuk

38 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige