我想用下面的代码创建一个目录和一个子目录:
Public fso As Scripting.FileSystemObject
Set fso = New Scripting.FileSystemObject
fso.CreateFolder ("C:\Users\<my_username>\DataEntry\logs")
我试图创建嵌套目录。在这种情况下,DataEntry
目录将不存在,所以实际上我想创建2个目录,DataEntry\logs
在C:\Users\<username>
下
如果我进入命令提示符,我可以用mkdir
创建该目录,没有任何问题。但是,我根本无法让VBA创建该文件夹,我得到:
Run-time error '76':
Path not found
Excel VBA 2007/2010
4条答案
按热度按时间dgjrabp21#
tigeravatar的循环答案可能会起作用,但它有点难以阅读。FileSystemObject具有可用的路径操作函数,而不是自己处理字符串,递归比循环更容易阅读。
下面是我使用的函数:
vjrehmav2#
需要一次创建一个文件夹。您可以使用如下代码来执行此操作:
chy5wohz3#
同意MarkD的建议,利用递归,这是我来这里寻找找到的代码。在提供的路径使用不存在的根文件夹的情况下,它将导致无限循环。添加到MarkD的解决方案,以检查零长度路径。
bqujaahr4#
我通常是这样做的:
我更喜欢在递归函数之外检查参数和路径的存在性。