Wie kann ich das FileSystemObject zum "Kopieren und Umbenennen" verwenden?

Verwendung derFileSystemObject Wie kann ich in VB / VBA (oder nativen VBA-Aufrufen):

Ordner kopierenOrdner umbenennen

So etwas wie:

mFSO.CopyAndRename(targetFolder, copyDirectory, copyFolderName)

Ich habe das im Grunde genommen selbst gemacht, aber ich würde einen saubereren Methodenaufruf wie den obigen (und denCopyFolder Methode). Dies scheint viel Code und viele potenzielle Fehlerquellen zu sein ...

'
''requires reference to Microsoft Scripting Runtime


Public Function CopyDirectory(ByVal p_copyDirectory As String, p_targetDirectory As String, Optional p_newName As String = "") As Boolean
    CopyDirectory = False
    Dim m_fso 
    Set m_fso = New FileSystemObject

    Dim mFolder, mNewFolder

    If Not Me.DoesPathExist(p_copyDirectory) Then
        Exit Function
    Else

        On Error GoTo errHandler
         Set mFolder = m_fso.GetFolder(p_copyDirectory)
         mFolder.Copy p_targetDirectory, False

         'rename if a "rename" arg is passed
         If p_newName <> "" Then
            If DoesPathExist(p_targetDirectory & mFolder.Name) Then
                Set mNewFolder = m_fso.GetFolder(p_targetDirectory & mFolder.Name)
                mNewFolder.Name = "test" & CStr(Rnd(9999))
            Else
            End If
         End If

         CopyDirectory = True
        On Error GoTo 0

        Exit Function
    End If

errHandler:
    Exit Function

End Function

Antworten auf die Frage(3)

Ihre Antwort auf die Frage