|
4#
楼主 |
发表于 2020-7-19 21:25:49
|
只看该作者
我找到你曾经发这的这个
“由于CreateFolder是需要预先存在上一级的文件夹。给出的建议是:
1、使用循环,split路径,然后逐层创建文件夹。
或者
2、使用递归,一直Call函数,直至返回到磁盘驱动器的位置。
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
'如果不存在则创建文件夹
If Len(Dir(strPath)) = 0 Then
fso.CreateFolder strPath
End If
End If
End Sub
'调用
Sub test()
Call CreateFolders("C:\ff\ll")
End Sub
复制代码
不过个人觉得都太复杂。此外,调用时由于已经创建了文件夹,因此接下来只需要复制文件【CopyFile】即可。
最好的办法是使用FileDialog的FolderPicker,选择一个路径后,然后使用FileSystemObject的CopyFolder方法(如果有子文件,可能还需要使用CopyFile)。”
但这个只是第一层的,第二层的我真搞不懂关系!还请指点一二 |
|