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
Weiterlesen...