ich bräuchte einen Ansatz, mit dem ich alle Dateien, deren Dateinamen mit "LN" beginnen, aus einem Ordner C:\abc in einen anderen Ordner V:\xyz verschieben kann.
Vielen Dank für Euren Hilfe im voraus.
Gruß
Torsten
Private Sub SearchInFolder(ByVal Folderspec As String, ByVal Zielordner As String) '
Dim StTyp As String
Dim FSO As Object
Dim FI As Object
Set FSO = CreateObject("Scripting.Filesystemobject")
If Not FSO.FolderExists(Folderspec) Then
MsgBox Folderspec & " ist nicht vorhanden."
Set FSO = Nothing
Exit Sub
End If
StTyp = "txt" 'Bitte anpassen des Datei Typs
Anfangderdatei = "LN" 'Bitte anpassen des Anfangs des Dateinamen
For Each FI In FSO.GetFolder(Folderspec).Files
If UCase(FSO.GetExtensionName(FI)) = UCase(StTyp) Then
If UCase(FSO.GetFileName(FI)) Like UCase(Anfangderdatei & "*") Then
FSO.MoveFile FI, Zielordner & "\"
End If
End If
Next
Set FSO = Nothing
End Sub
Sub Verschieben()
Call SearchInFolder("C:\Bastian", "C:\Bastian\add") ' 1 ist der suchordner 2 ist der wo hin es _
verschoben wird
End Sub
Sub a()
Const PFAD_A As String = "C:\abc\"
Const PFAD_B As String = "C:\xyz\"
Dim Datei As String
Datei = Dir(PFAD_A, vbDirectory)
Do While Datei vbNullString
If Left(Datei, 2) = "LN" Then
Name PFAD_A & Datei As PFAD_B & Datei
Datei = Dir
Loop
End Sub
LGSub File_verschieben()
Dim Quelle$, Ziel$, FSO As Object
Quelle = "C:\abc\LN*.*"
If Dir(Quelle) = "" Then
MsgBox "Keine Dateien vorhanden!"
Else
Ziel = "V:\xyz\"
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.MoveFile Quelle, Ziel
Set FSO = Nothing
End If
End Sub
Um Dateien mit VBA zu verschieben, kannst du die FileSystemObject
-Klasse verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung, um Dateien, deren Namen mit "LN" beginnen, von einem Ordner in einen anderen zu verschieben.
ALT + F11
, um den VBA-Editor zu öffnen.Einfügen
> Modul
.Sub DateiVerschieben()
Const Quelle As String = "C:\abc\"
Const Ziel As String = "V:\xyz\"
Dim FSO As Object
Dim Datei As String
Set FSO = CreateObject("Scripting.FileSystemObject")
Datei = Dir(Quelle & "LN*.*") ' Dateien, die mit "LN" beginnen
Do While Datei <> ""
FSO.MoveFile Quelle & Datei, Ziel & Datei
Datei = Dir
Loop
Set FSO = Nothing
End Sub
C:\abc\
und V:\xyz\
) nach Bedarf.Fehler: "Datei nicht gefunden"
Fehler: "Zielordner existiert nicht"
Es gibt verschiedene Möglichkeiten, Dateien in VBA zu verschieben. Eine einfache Methode ist die Verwendung der Name
-Anweisung. Hier ein Beispiel:
Sub AlternativeDateiVerschieben()
Dim Quelle As String
Dim Ziel As String
Dim Datei As String
Quelle = "C:\abc\"
Ziel = "V:\xyz\"
Datei = Dir(Quelle & "LN*.*")
Do While Datei <> ""
Name Quelle & Datei As Ziel & Datei
Datei = Dir
Loop
End Sub
Diese Methode ist besonders nützlich, wenn du die Datei gleichzeitig umbenennen möchtest, da du den Zielpfad entsprechend anpassen kannst.
Hier sind einige praktische Beispiele für das Verschieben von Dateien mit VBA:
Dateien in einen anderen Ordner verschieben:
Sub VerschiebeDateien()
Const Quelle As String = "C:\abc\"
Const Ziel As String = "D:\backup\"
' Hier kann der Code zum Verschieben eingefügt werden
End Sub
Dateien umbenennen und verschieben:
Sub VerschiebeUndBenenneUm()
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.MoveFile "C:\abc\alteDatei.txt", "C:\abc\nueDatei.txt"
End Sub
Nutze On Error Resume Next
: Um Fehler zu ignorieren und die Ausführung fortzusetzen, wenn zum Beispiel eine Datei nicht gefunden wird.
Verwende FileSystemObject
: Für kompliziertere Operationen, wie das Überprüfen von Dateieigenschaften oder das Kopieren von Dateien.
Testen in einer sicheren Umgebung: Teste deinen Code immer in einer Umgebung, in der du keine wichtigen Daten verlierst.
1. Wie kann ich mehrere Dateitypen gleichzeitig verschieben?
Du kannst die Bedingung in der Schleife anpassen, um verschiedene Dateitypen zu berücksichtigen. Zum Beispiel:
If UCase(FSO.GetExtensionName(FI)) = "TXT" Or UCase(FSO.GetExtensionName(FI)) = "DOCX" Then
2. Ist es möglich, die Dateien nach dem Verschieben zu löschen?
Ja, du kannst die DeleteFile
-Methode von FileSystemObject
verwenden, um die Originaldateien zu löschen, nachdem sie verschoben wurden.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen