VB新建文件夹

发布时间:2011-10-16 02:53:59   来源:文档文库   
字号:

写个函数你自己调用下

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

接上面的

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

VBFSO的调用的二种方法

方法一:

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)

如果有就让N1再比对,直到没有找到 "新建文件夹+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

本文来源:https://www.2haoxitong.net/k/doc/e1b17e4d852458fb770b566c.html

《VB新建文件夹.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式