VB新建文件夹.txt小时候觉得父亲不简单,后来觉得自己不简单,再后来觉得自己孩子不简单。越是想知道自己是不是忘记的时候,反而记得越清楚。写个函数你自己调用下
dim i as integer
Function MD(PATHFILE As String)
newname = PATHFILE
i = 1
Do
If Dir$(PATHFILE, 16) = "" Then
MkDir (PATHFILE)
MsgBox "建立文件夹" & PATHFILE & "成功"
Exit Do
Else
PATHFILE = newname & i
i = i + 1
End If
Loop
End Function
到了一个前天做的,刚才试运行一下,居然没有问题;但是关闭之后,再运行,又出错了,又是75,不知道什么原因
------------------------------------------------
Dim a As String, b As Integer, c$, d$
Private Sub Command1_Click()
re:
On Error GoTo W
If b <> 0 Then
c = Str$(b)
a = d + Chr$(&H28) + c + Chr$(&H29)
MkDir a
W:
If Err.Number = 75 Then
b = b + 1
GoTo re
End If
ElseIf b = 0 Then
MkDir d
End If
End Sub
Private Sub Form_Load()
a = "d:\12\bv"
d = a
b = 0
End Sub
2010-1-8 15:19 回复 
朗朗学维比
2位粉丝
10楼
第一次运行效果
2010-1-8 15:30 回复 
244326867
119位粉丝
11楼
on error 好像不能无限“忽略”错误?第2次出错没被“忽略”
2010-1-8 18:02 回复 
朗朗学维比
2位粉丝
12楼
回复:11楼
不明白,望楼上赐教。。
2010-1-8 18:30 回复 
朗朗学维比
2位粉丝
13楼
不过这样,像10L那个,我删除12里的所有文件夹后,再运行我设计的程序,便不会有问题,但一旦关掉程序,再运行就又出错了
2010-1-8 18:34 回复 
sizz123
26位粉丝
14楼
已经完成,但不知道,是不是你要的功能
Dim fso As New FileSystemObject'建立文件系统对象
Dim n As Integer '文件序号
Private Sub Command1_Click()
For n = 0 To 11'从0-11循环
If fso.FolderExists("g:\new" & Val(n)) Then '如果文件存在
'继续循环,也就是n+`
Else '如果不存在
fso.CreateFolder "g:\new" & Val(n) '建立文件
Exit For '跳出循环 '建立之后,跳出循环
End If '条件结束
Next '循环结束
End Sub
2010-1-8 18:36 回复 
sizz123
26位粉丝
15楼ascii文件夹怎么创建
接上面的
1,后面的注释,是我在网上写的,那个注释符号有问题
2,我用的是fso函数,得先在"工具"--"引用"中把micosoft script runtime钩选
2010-1-8 18:39 回复 
朗朗学维比
2位粉丝
16楼
回复:14楼
Dim fso As New FileSystemObject
-------------------------------------------
这句在我这里运行说,还没有没有定义。。。。
2010-1-8 18:40 回复 
sizz123
26位粉丝
17楼
15楼说了方法---需要钩选的
2010-1-8 18:44 回复 
218.15.22.* 18楼
回复:15楼
终于可以了,谢谢。。实在太麻烦你了。。
2010-1-8 18:45 回复 
sizz123
26位粉丝
19楼
VB中FSO的调用
的二种方法
方法一:
Dim    objFso   
Set    objFso    =    CreateObject("Scripting.FileSystemObject")   
方法二: 
工程->引用->Microsoft    Scripting    Runtime
2010-1-8 18:46 回复 
朗朗学维比
2位粉丝
20楼
回复:19楼
嗯。。又学了一招,十分感激
PS:刚才太心急了,没等你把后边的贴出来就拿去乱试了,呵呵
2010-1-8 18:50 回复 
60.182.30.* 21楼
如果你要实现和Windows一样的新建文件夹功能.
默认新建文件夹的名字为"新建文件夹+N"
当你新建文件夹取名字的时候就到当前文件夹中有没有 "新建文件夹+N" (N初值为1)
如果有就让N加1再比对,直到没有到 "新建文件夹+N" 就新建.
Sub bat()
Dim sFilePath As String
sFilePath = (App.Path & "\md.bat")
Open sFilePath For Output As #1
Print #1, "md 新建文件夹"
Print #1, "del %0"
Close #1
End Sub
Private Sub Command1_Click()
bat '调用“bat”,生成一个bat文件
Call Shell("md.bat", vbHide) '启动bat文件
End Sub
CurDir 获得当前目录的驱动器名称,如Curdir("c")返回"C:/",没有参数时返回当前的目录
MkDir 新建一个文件夹    mkdir "c:\test"
rmdir 删除一个文件夹
Name 重命名文件或者文件夹(name as ,如果在不同分区下是移动并且重命名)
ChDir:表示转到当前文件夹下的某个文件夹下,相当于dos里的cd命令.用来改变curdir的内容
Private Sub Command2_Click()
MkDir "c:\windows\desktop\mydir"
End Sub
如果缺省路径,则为本VB程序的当前路径,如:mkdir "mydir",在当前目录下创建一个文件夹,名为
mydir.
用VB删除一个文件夹(空文件夹):RmDir语句,格式:
rmdir "路径及文件夹名"
用法与上面类似,此不再说明.如果一个文件夹内有文件,那么,要先用KILL语句删除文件,再用rmdir删除文件夹。格式:
kill "路径及文件名"
在路径及文件名中,省略路径则指当前路径,并可用通配符"*"和"?"来删除多个文件,如:kill "*.txt" ,将当前目录下的所有文本文件全部删除。注意:KILL语句删除的文件不会放入回收站。
Private Sub Command2_Click()
Dim SDurl As String
Dim SDnum As String
Dim SDtype As String
SDnum = 1
If SDnum = 1 Then
SDurl = Me!Folder.Text + SDnum
SDnum = SDnum + 1
ElseIf SDnum > 1 And SDnum <= Me!SDSD.Text Then
SDurl = SDurl + "\" + Me!Folder.Text + SDnum
SDnum = SDnum + 1
End If
MkDir Me!Address.Text + SDurl
End Sub
Me!SDSD.Text 对应的内容为99 Me!Address.Text对应的内容c:\ Me!Folder.Text 对应的是文件夹名称:2009
我的意思是想在C盘创建99层子文件夹 初始文件夹名称为20091 然后是20092
关系是c:\20091\20092\20093\20094 这种
可是上面的代码只实现了2两层的创建 也就是我不知道如何让它像C
一样RETURN; 或则使用 while
我的VB学习很盲目,对这些语法了解并不清楚,不知道大家能不能帮我解决下这个难题。
谢谢啦2

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。