|
4#
樓主 |
發(fā)表于 2020-7-19 21:25:49
|
只看該作者
我找到你曾經發(fā)這的這個
“由于CreateFolder是需要預先存在上一級的文件夾。給出的建議是:
1、使用循環(huán),split路徑,然后逐層創(chuàng)建文件夾。
或者
2、使用遞歸,一直Call函數(shù),直至返回到磁盤驅動器的位置。
Sub CreateFolders(ByVal strPath As String)
Dim fso As New FileSystemObject
If InStrRev(strPath, "") > 3 Then
strPath = Left(strPath, InStrRev(strPath, "") - 1)
'遞歸
CreateFolders strPath
'忽略錯誤
On Error Resume Next
'如果不存在則創(chuàng)建文件夾
If Len(Dir(strPath)) = 0 Then
fso.CreateFolder strPath
End If
End If
End Sub
'調用
Sub test()
Call CreateFolders("C:\ff\ll")
End Sub
復制代碼
不過個人覺得都太復雜。此外,調用時由于已經創(chuàng)建了文件夾,因此接下來只需要復制文件【CopyFile】即可。
最好的辦法是使用FileDialog的FolderPicker,選擇一個路徑后,然后使用FileSystemObject的CopyFolder方法(如果有子文件,可能還需要使用CopyFile)!
但這個只是第一層的,第二層的我真搞不懂關系!還請指點一二 |
|