Mit nachfolgender Funktion lässt sich ein Ordner mitsamt allen vorhandenen Unterordner in ein neues Verzeichnis verschieben, wobei das Zielverzeichnis ggf. vorher erstellt wird, falls dieses noch nicht existiert. ' Verschieben von Ordner mittels FSO ' mit autom. Erstellung von verschachtelten ' Verzeichnissesn im Zielordner Public Function MoveFolder(ByVal Source As String, _ ByVal Dest As String, _ Optional ByVal bOverwrite As Boolean = False) As Boolean ' Paramterliste: ' Source: Quellordner ' Dest: Zielordner ' bOverwrite: Optional. ' Vorhandene Dateien überschreiben ja/nein On Error Resume Next Dim aStrFolder() As String Dim i As Integer Dim strParentFolder As String Dim bFolderBenoetigt As Boolean ' FSO-Objekt erstellen Dim FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") ' Wenn Zielverzeichnis bereits vorhanden... If FSO.FolderExists(Dest) And FSO.FolderExists(Source) Then ' ... nur wenn Parameter bOverwrite = True If bOverwrite = True Then ' Ordner kopieren FSO.CopyFolder Source, Dest, True ' Quellordner löschen FSO.DeleteFolder Source, True End If ElseIf FSO.FolderExists(Source) Then ' zunächst Zielverzeichnis erstellen strParentFolder = FSO.GetParentFolderName(Dest) i = 0 Do While Not FSO.FolderExists(strParentFolder) ReDim Preserve aStrFolder(i) aStrFolder(i) = strParentFolder i = i + 1 strParentFolder = FSO.GetParentFolderName(strParentFolder) bFolderBenoetigt = True Loop If bFolderBenoetigt And i = 0 Then FSO.CreateFolder aStrFolder(i) ElseIf bFolderBenoetigt And i > 0 Then For i = UBound(aStrFolder) To LBound(aStrFolder) Step -1 FSO.CreateFolder aStrFolder(i) Next End If ' jetzt Ordner verschieben FSO.MoveFolder Source, Dest Else ' Quellordner existiert nicht! MoveFolder = False Exit Function End If If FSO.FolderExists(Dest) And Not FSO.FolderExists(Source) Then MoveFolder = True Else MoveFolder = False End If On Error GoTo 0 End Function Anwendungsbeispiel: ' Ordner d:\temp mitsamt Unterordner auf Laufwerk ' e: in das Verzeichnis \temp\test verschieben, wobei das ' Zielverzeichnis autom. erstellt wird, falls nicht vorhanden MoveFolder "d:\temp", "e:\temp\test" Dieser Tipp wurde bereits 10.666 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
Neu! sevDTA 3.0 Pro ![]() SEPA mit Kontonummernprüfung Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Tipp des Monats ![]() Dieter Otter Beliebige Zeichen am Anfang und Ende eines Strings entfernen Mit der Trim-Funktion lassen sich nicht nur Leerzeichen, sondern bei Bedarf auch beliebige Zeichen entfernen. Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |