1 1 1 1 1 1 1 1 1 1 Rating 5.00 (1 Vote)

Für 32Bit und 64Bit Office Versionen

Problemstellung:

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

Public Function CopyFolderFSO(strSourcePath As String, strTargetPath As String, _
                              Optional boolOverwrite As Boolean = True)
'*******************************************
'Name:      CopyFolderFSO (Function)
'Purpose:   Verzeichnis kopieren
'Author:    Tommyk
'Date:      März 11, 2004, 04:11:10
'Inputs:    strSourcePath=Quell Verzeichnis, strTargetPath=Ziel Verzeichnis
'           boolOverwrite=True, vorhandene Dateien werden überschrieben
'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 boolOverwrite = True Then
    oFSO.CopyFolder strSourcePath, strTargetPath, True
Else
    oFSO.CopyFolder strSourcePath, strTargetPath, False
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: CopyFolderFSO"
    Resume Err_Handler_Exit
End Function


Aufruf:

CopyFolderFSO "H:\Test", "H:\Daten\Test\"

würde das Verzeichnis "H:\Test" nach "H:\Daten\Test kopieren und bereits vorhandenen Dateien würden überschrieben.

CopyFolderFSO "H:\Test", "H:\Daten\Test\", False

würde das Verzeichnis "H:\Test" nach "H:\Daten\Test kopieren und bereits vorhandenen Dateien würden
nicht
überschrieben.

 

 

Ähnliche Artikel