| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1085 人关注过本帖
标题:又是VB的问题?
只看楼主 加入收藏
o___o___o
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-11-1
收藏
 问题点数:0 回复次数:12 
又是VB的问题?
vb如何创建多个文件夹?
例如点command1按钮,会在当前目录建立temp目录,下面含有30个子目录,目录1,目录2一直到目录30?
本人新手,请高手贴源码,我会加分的!谢了。
搜索更多相关主题的帖子: 目录 文件夹 如何 
2008-05-26 20:55
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
Dim i As Byte
For i=1 to 30

 Shell "cmd.exe /c md " & App.Path & "\temp\" & Trim(CStr(i))
Next
其实你问的无非就是怎么创建文件夹,多个不多个,1到30还是别的什么都不影响问题的本质(所以请尽量精简您的问题),上面的代码执行效率是比较低的,如果你的i要上百就别用了,vb里创建文件夹有如下方法:
1. 调用VB自带的MkDir函数,按说看书的都应该知道
Sub MkDir(Path As String)
    Member of VBA.FileSystem
    Creates a new directory or folder

2.使用FSO创建文件夹
程序代码:
Dim fso
Set fso=CreateObject("Scripting.FileSystemObject")
fso.CreateFolder path
Set fso=Nothing
  脚本运行时库   
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. 保留所有权利。

3. 调用外部程序,即系统内部命令md(当然也可以写作mkdir)
shell "cmd.exe /c md " & path
2008-05-26 21:08
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
"我会加分的"

您打算怎么加分?
2008-05-26 21:09
o___o___o
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-11-1
收藏
得分:0 
谢谢,第一个代码虽然效率不高,但代码精简,我喜欢。我代表党和人民感谢你。
2008-05-26 21:59
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
[bo][un]o___o___o[/un] 在 2008-5-26 21:59 的发言:[/bo]

谢谢,第一个代码虽然效率不高,但代码精简,我喜欢。我代表党和人民感谢你。

MkDir函数更简洁呀
2008-05-26 22:03
o___o___o
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-11-1
收藏
得分:0 
为什么不能这样写?
Dim i As Byte
For i = 1 To 30
MkDir " & App.Path & " \ temp \ " & Trim(CStr(i))"
Next
2008-05-26 22:07
o___o___o
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-11-1
收藏
得分:0 
你留个QQ号吧。我还有很多不明呢。
2008-05-26 22:08
tig2
Rank: 2
等 级:论坛游民
帖 子:57
专家分:45
注 册:2007-4-11
收藏
得分:0 
Dim i As Integer
For i = 1 To 30
MkDir App.Path & "\temp" & Trim(CStr(i))
Next

这个貌似也是可以的
2008-05-27 03:16
o___o___o
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-11-1
收藏
得分:0 
谢谢楼上的,你太了不起了。
2008-05-28 08:46
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
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]]

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-05-28 18:21
快速回复:又是VB的问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.078766 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved