level 13
现在有个存放具体地址的.text,这个地址有可能存在也有可能不存在或是不完全存在,要按照这个.text来生成多级文件夹。
2012年11月23日 13点11分
1
level 10
不知道有什么简单的生成多级文件夹的函数可用。
好像没有这样的函数,只能逐级的来
2012年11月26日 04点11分
4
level 7
网上随便百度了一下。就找到了结果。
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long
Private Sub Command2_Click()
Dim i As Integer, r, s As String
s = Text1.Text
r = Split(s, Chr(13) + Chr(10))
For i = 0 To UBound(r)
CreateDirectory r(i)
Next
End Sub
Private Function CreateDirectory(ByVal sDirectory As String) As Boolean
'创建指定的目录(可以是多级目录),sDirectory:要创建的文件夹
On Error GoTo ErrHandle
Dim lngResult As Long
sDirectory = checkpath(sDirectory)
lngResult = MakeSureDirectoryPathExists(sDirectory)
CreateDirectory = IIf(lngResult = 0, False, True)
ErrHandle:
If Err <> 0 Then
CreateDirectory = False
End If
End Function
Private Function checkpath(ByVal sPath As String) As String
If Right$(sPath, 1) = "\" Then
checkpath = sPath
Else
checkpath = sPath & "\"
End If
End Function
2012年11月26日 10点11分
5
和我3楼想的差不多,VB不能按照一个明确的地址直接生成这有点蛋疼。
2012年11月26日 11点11分
回复 NT_RWX :创建文件夹对于VB来说还是没难度的……
2012年11月26日 11点11分
level 13
用split函数以“/”为边界对地址进行拆分,循环遍历被分割出来的每一个元素,然后一层一层得makedir
2012年11月26日 14点11分
6
level 13
shell"cmd.exe /c md " & text1 是这样的吗?
2012年11月26日 18点11分
7
这个应该可以,但隐藏处理就好了
2012年11月27日 00点11分
回复 ztw1122 :你说的是这样隐藏的吗?Shell "cmd.exe /c md " & Text1, vbHide
2012年11月27日 01点11分
回复 12339797 :差不多
2012年11月27日 02点11分