又是VB的问题?
vb如何创建多个文件夹?例如点command1按钮,会在当前目录建立temp目录,下面含有30个子目录,目录1,目录2一直到目录30?
本人新手,请高手贴源码,我会加分的!谢了。
For i=1 to 30
Shell "cmd.exe /c md " & App.Path & "\temp\" & Trim(CStr(i))
Next[/code]其实你问的无非就是怎么创建文件夹,多个不多个,1到30还是别的什么都不影响问题的本质(所以请尽量精简您的问题),上面的代码执行效率是比较低的,如果你的i要上百就别用了,vb里创建文件夹有如下方法:
1. 调用VB自带的MkDir函数,按说看书的都应该知道
[quote]Sub MkDir(Path As String)
Member of VBA.FileSystem
Creates a new directory or folder
[/quote]
2.使用FSO创建文件夹[code]
Dim fso
Set fso=CreateObject("Scripting.FileSystemObject")
fso.CreateFolder path
Set fso=Nothing
[/code][quote] 脚本运行时库
CreateFolder 方法
请参阅
CopyFolder 方法 | DeleteFolder 方法 | MoveFolder 方法
应用于:FileSystemObject 对象
语言
JScript
VBScript
显示所有语言
创建文件夹。
object.CreateFolder(foldername)
参数
object
必选项。应为 FileSystemObject 的名称。
foldername
必选项。字符串表达式,标识所要创建的文件夹。
说明
如果指定的文件夹已经存在则出错。
下面的代码说明了如何使用 CreateFolder 方法来创建一个文件夹。
[JScript]
var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateFolder("c:\\new folder");
[VBScript]
Function CreateFolderDemo
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateFolder("c:\New Folder")
CreateFolderDemo = f.Path
End Function
请参阅
CopyFolder 方法 | DeleteFolder 方法 | MoveFolder 方法
应用于:FileSystemObject 对象
--------------------------------------------------------------------------------
© 2001 Microsoft Corporation. 保留所有权利。[/quote]
3. 调用外部程序,即系统内部命令md(当然也可以写作mkdir)[code]
shell "cmd.exe /c md " & path
[/code] "我会加分的"
您打算怎么加分? 谢谢,第一个代码虽然效率不高,但代码精简,我喜欢。我代表党和人民感谢你。 [quote][bo][un]o___o___o[/un] 在 2008-5-26 21:59 的发言:[/bo]
谢谢,第一个代码虽然效率不高,但代码精简,我喜欢。我代表党和人民感谢你。 [/quote]
MkDir函数更简洁呀 为什么不能这样写?
Dim i As Byte
For i = 1 To 30
MkDir " & App.Path & " \ temp \ " & Trim(CStr(i))"
Next 你留个QQ号吧。我还有很多不明呢。[tk01] Dim i As Integer
For i = 1 To 30
MkDir App.Path & "\temp" & Trim(CStr(i))
Next
这个貌似也是可以的 谢谢楼上的,你太了不起了。 CreateDirectoryEx及CreateDirectory是Win32标准的创建文件夹的API函数,如下定义:
Declare Function CreateDirectory& Lib "kernel32" Alias "CreateDirectoryA" (ByVal lpNewDirectory As String, lpSecurityAttributes As SECURITY_ATTRIBUTES)
Declare Function CreateDirectoryEx& Lib "kernel32" Alias "CreateDirectoryExA" (ByVal lpTemplateDirectory As String, ByVal lpNewDirectory As String, lpSecurityAttributes As SECURITY_ATTRIBUTES)
Public Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type
[[it] 本帖最后由 flyue 于 2008-5-28 18:22 编辑 [/it]] [quote][bo][un]o___o___o[/un] 在 2008-5-26 22:08 的发言:[/bo]
你留个QQ号吧。我还有很多不明呢。[tk01] [/quote]
嗯,你是不是想表达因为我笨所以你在我个人资料里看不到QQ号?
要说多少遍那些新手们还是那么懒,点下鼠标都不愿意,上来就要代码。
是我论坛资料里没写QQ号吗?不是!那是我笨吗? 我不喜欢QQ,整天叫个不停,好吵,会打乱思路
回复 12# flyue 的帖子
基本无视QQ消息页:
[1]
