VBA创建多级文件夹问题
请问用VBA创建文件夹时,用下面的这中写法,运行的时候找不到路径.请问是什么原因.如果只建立"D:\test"就没问题.f = Dir("D:\test\aa", vbDirectory)
If f = "" Then MkDir ("D:\test\aa") --------------------编程问答-------------------- 一层层建咯
mkdir "d:\test"
mkdir "d:\test\aa" --------------------编程问答--------------------
...... --------------------编程问答-------------------- 目录总是一层一层健的,即使是DOS也是这样的 --------------------编程问答-------------------- 纠正一下,DOS可以一次建立多层 --------------------编程问答-------------------- 晕了................... 多看点书吧.
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal DirPath As String) As Long
Private Sub Command1_Click()
MakeSureDirectoryPathExists "c:\0\1\2\3\"
End Sub
--------------------编程问答-------------------- 楼主高人! ^_^
--------------------编程问答-------------------- 学习了,不过,dll文件的确需要学习很多,资源的确强大。 --------------------编程问答-------------------- 路过学习
--------------------编程问答-------------------- 在EXCEL中用VBA创建文件夹
考虑到可能出现的错误。如在光盘中建立文件夹 --------------------编程问答-------------------- mkdir不能在不存在的文件夹上建立新的文件夹。
MakeSureDirectoryPathExists可以一次建立N多文件夹。
最多能生成几层文件夹”跟VB无关,只取决于操作系统。
MkDir 对‘不存在的文件夹’只能一级一级的创建。
如果想‘一次性创建多级文件夹’可以用这个 API :
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal DirPath As String) As Long
Sub CreateDir()
MakeSureDirectoryPathExists basepath & "\" & "EM001_060" & "\" & path_path & "\" + subfolder0.Name
End Sub
如果是调用kernel32的函数的话,路径最长不超过260。在260个字符数中你喜欢弄几层是几层。但是如果是使用ntdll的函数的话,限制就要小些,只要目录名不长于256就行了。具体自己测试下就知道了 --------------------编程问答-------------------- http://baike.baidu.com/view/4061614.htm
函数原型
BOOL MakeSureDirectoryPathExists( PCSTR Dirpath );
函数作用
该函数的作用是检查指定目录是否存在,如果不存在则创建整个Dirpath所表示的整个目录。
参数
Dirpath:要检查的目录名。如果是路径不是文件名,需以 '\' 结尾。
返回值
如果目录存在,返回TRUE;如果不存在但全部路径创建成功,返回TRUE; 如果不存在且创建失败,返回FALSE。
编辑本段函数使用
一次性建立多级目录(用CreateDirectory只能一级一级的建立)。 如: MakeSureDirectoryPathExists( "c:\\a\\b\\ "); 如果a文件夹不存在也可以创建成功。 这个函数并不存在于 Kernel32.dll 中,需要链接 dbghelp.lib。 该函数的实现如下,以供使用和学习。 LPTSTR _tCharAlloc(UINT uSize) --------------------编程问答-------------------- shell "md d:\test\aa",vbHide
补充:VB , VBA