Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema SpinButton
BildScreenshot zu SpinButton SpinButton-Seite mit Beispielarbeitsmappe aufrufen

Existierende Datei verschieben

Betrifft: Existierende Datei verschieben von: Norbert
Geschrieben am: 06.10.2020 10:53:32

Hallo zusammen,


ich möchte mit einem Makro überprüfen, ob in einem Ordner eine Datei vorhanden ist.

Wenn Ja, soll diese Datei in einen bestehenden Unterordner "Alt" innerhalb dieses zu überprüfenden Ordners verschoben werden. Ich habe es mal versucht, aber mein Lösungsansatz funktioniert leider nicht:

Sub Datei_verschieben()
Dim FSO as New FileSystemObject
Dim A as File
Dim Alt as String
Dim Path as Folder


Path = "\\C:\Dateien\Neu\LEG001\"
Alt = "\\ZielURL\Files\New\LEG001\Alt\" 


For Each A in Path.Files 
       FSO.MoveFile Alt
Next A

End Sub

Was mache ich falsch?

Ich habe gedacht, dass diese For Each Anweisung im Ordner nach der Datei sucht und wenn eine vorhanden ist in den Ordner Alt verschiebt.


Vielen Dank im Voraus.


Beste Grüße

Norbert

Betrifft: AW: Existierende Datei verschieben
von: Nepumuk
Geschrieben am: 06.10.2020 11:07:16

Hallo Norbert,

teste mal:

Public Sub Datei_verschieben()
    Const SOURCE_PATH As String = "H:\1006\Neu\" ' Anpassen !!!
    Const TARGET_PATH As String = "H:\1006\Alt\" ' Anpassen !!!
    Dim strFilename As String
    strFilename = Dir$(SOURCE_PATH & "Test.xlsx") ' Anpassen !!!
    If strFilename <> vbNullString Then _
        Name SOURCE_PATH & strFilename As TARGET_PATH & strFilename
End Sub

Gruß
Nepumuk

Betrifft: AW: Existierende Datei verschieben
von: volti
Geschrieben am: 06.10.2020 11:19:08

Und noch eine Variante zum Testen:


Code:
[Cc]
 
Sub Datei_verschieben() Dim FSO As Object, oFile As Object Dim sPath As String sPath = "\\C:\Dateien\Neu\LEG001\" With CreateObject("scripting.filesystemobject") For Each oFile In .GetFolder(sPath).Files If Dir(sPath & "Alt\" & oFile.Name) = "" Then .MoveFile Source:=sPath & oFile.Name, Destination:=sPath & "Alt\" End If Next oFile End With End Sub
 
____________________
viele Grüße aus Freigericht
Karl-Heinz


Betrifft: AW: Existierende Datei verschieben
von: volti
Geschrieben am: 06.10.2020 11:30:44

Sorry,

falsch gelesen: Ich dachte, es sollten alle Dateien aus dem Ordner verschoben werden.

VG KH