1 1 1 1 1 1 1 1 1 1 Rating 0.00 (0 Votes)

Für 32Bit und 64Bit Office Versionen

Problemstellung:

Wie kann ich mit dem FileSystemObject (FSO) ein Verzeichnis verschieben? 

Public Function MoveFolderFSO(strSourcePath As String, strTargetPath As String)
'*******************************************
'Name:      MoveFolderFSO (Function)
'Purpose:   Verzeichnis verschieben
'Author:    Tommyk
'Date:      März 11, 2004, 04:09:20
'Inputs:    strSourcePath=Quell Verzeichnis, strTargetPath=Ziel Verzeichnis
'Output:
'*******************************************
On Error GoTo Err_Handler
' Falls Quell- und Zielverzeichnis einen abschließenden Backslash haben,
' wird dieser entfernt
If Right(strSourcePath, 1) = "\" Then strSourcePath = Left(strSourcePath, Len(strSourcePath) - 1)
If Right(strTargetPath, 1) = "\" Then strTargetPath = Left(strTargetPath, Len(strTargetPath) - 1)
    
If Left(strSourcePath, 1) = Left(strTargetPath, 1) Then
    oFSO.MoveFolder strSourcePath, strTargetPath
Else
    ' wenn Quell und Ziel-LW verschieden
    oFSO.CopyFolder strSourcePath, strTargetPath
    oFSO.DeleteFolder strSourcePath, True
End If
    
Err_Handler_Exit:
    Exit Function
Err_Handler:
    Dim strErrString As String
    strErrString = "Error Information..." & vbCrLf
    strErrString = strErrString & "Error#: " & Err.Number & vbCrLf
    strErrString = strErrString & "Description: " & Err.Description & vbCrLf
    MsgBox strErrString, vbCritical + vbOKOnly, "Error in Function: MoveFolderFSO"
    Resume Err_Handler_Exit
End Function

Aufruf:

MoveFolderFSO "H:\Test", "H:\Daten\Test\"

würde das Verzeichnis "H:\Test" nach "H:\Daten\Test verschieben.

 

 

Ähnliche Artikel