Wie kann ich das FileSystemObject zum "Kopieren und Umbenennen" verwenden?
Verwendung derFileSystemObject Wie kann ich in VB / VBA (oder nativen VBA-Aufrufen):
Ordner kopierenOrdner umbenennenSo 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