Private Sub Command1_Click() MkDir "H:\vb\work\today"End Sub提示错误是路径没有找到
可能是你还没有建上一级的文件夹。 比如h:\vb\work
'错误处理你自己加吧: Option ExplicitPrivate Sub Command1_Click() Dim s As String s = "c:\wmsdk\e\f\g" createfolder s End Sub Private Sub createfolder(ByVal path As String) Dim arr arr = Split(path, "\") Dim i As Long Dim s As String s = arr(0) For i = 1 To UBound(arr) s = s + "\" + arr(i) On Error Resume Next MkDir s Next End Sub
不需要FSO,只要MkDir()函数就可以了。VB内置的
创建多级目录的函数,你可以直接调用:Public Type SECURITY_ATTRIBUTES nLength As Long lpSecurityDescriptor As Long bInheritHandle As Long End Type Public Declare Function CreateDirectory Lib "kernel32" Alias "CreateDirectoryA" (ByVal lpPathName As String, lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long Public Sub CreateNewDirectory(NewDirectory As String) Dim sDirTest As String Dim SecAttrib As SECURITY_ATTRIBUTES Dim bSuccess As Boolean Dim sPath As String Dim iCounter As Integer Dim sTempDir As String iFlag = 0 sPath = NewDirectory If Right(sPath, Len(sPath)) <> "\" Then sPath = sPath & "\" End If iCounter = 1 '循环逐级建立目录。 Do Until InStr(iCounter, sPath, "\") = 0 '提取目录结构。 iCounter = InStr(iCounter, sPath, "\") sTempDir = Left(sPath, iCounter) sDirTest = Dir(sTempDir) iCounter = iCounter + 1 '创建目录。 SecAttrib.lpSecurityDescriptor = &O0 SecAttrib.bInheritHandle = False SecAttrib.nLength = Len(SecAttrib) bSuccess = CreateDirectory(sTempDir, SecAttrib) LoopEnd Sub Private Sub Command1_Click() Call CreateNewDirectory("c:\test1\Test") End Sub
MkDir "H:\vb\work\today"End Sub提示错误是路径没有找到
比如h:\vb\work
Option ExplicitPrivate Sub Command1_Click()
Dim s As String
s = "c:\wmsdk\e\f\g"
createfolder s
End Sub
Private Sub createfolder(ByVal path As String)
Dim arr
arr = Split(path, "\")
Dim i As Long
Dim s As String
s = arr(0)
For i = 1 To UBound(arr)
s = s + "\" + arr(i)
On Error Resume Next
MkDir s
Next
End Sub
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type
Public Declare Function CreateDirectory Lib "kernel32" Alias "CreateDirectoryA" (ByVal lpPathName As String, lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long
Public Sub CreateNewDirectory(NewDirectory As String)
Dim sDirTest As String
Dim SecAttrib As SECURITY_ATTRIBUTES
Dim bSuccess As Boolean
Dim sPath As String
Dim iCounter As Integer
Dim sTempDir As String
iFlag = 0
sPath = NewDirectory
If Right(sPath, Len(sPath)) <> "\" Then
sPath = sPath & "\"
End If
iCounter = 1
'循环逐级建立目录。
Do Until InStr(iCounter, sPath, "\") = 0
'提取目录结构。
iCounter = InStr(iCounter, sPath, "\")
sTempDir = Left(sPath, iCounter)
sDirTest = Dir(sTempDir)
iCounter = iCounter + 1
'创建目录。
SecAttrib.lpSecurityDescriptor = &O0
SecAttrib.bInheritHandle = False
SecAttrib.nLength = Len(SecAttrib)
bSuccess = CreateDirectory(sTempDir, SecAttrib)
LoopEnd Sub
Private Sub Command1_Click()
Call CreateNewDirectory("c:\test1\Test")
End Sub