VBA入门到进阶常用知识代码总结48

第48集 VBA文件夹操作
216、 判断文件夹是否存在
Dir函数的第二个参数是vbdirectory时可以返回路径下的指定文件和文件夹,如果结果为"",则表示不存在。

Dir 函数
返回一个 String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。
Dir[(pathname[, attributes])]
在这里插入图片描述

Sub w1()
If Dir(ThisWorkbook.path & “\2011年报表2”, vbDirectory) = “” Then
MsgBox “不存在”
Else
MsgBox “存在”
End If
End Sub
217、 新建文件夹
MkDir语句可以创建一个文件夹
Sub w2()
MkDir ThisWorkbook.path & “\Test”
End Sub
218、 删除文件夹
RmDir语句可以删除一个空文件夹,如果想要使用 RmDir 来删除一个含有文件的目录或文件夹,则会发生错误。在试图删除目录或文件夹之前,先使用 Kill 语句来删除所有文件。
Sub w3()
RmDir ThisWorkbook.path & “\test”
End Sub
219、 文件夹重命名
利用Name语句可以重命名和移动文件夹及内部文件,并可在移动时修改文件夹名。
Sub w4()
Name ThisWorkbook.path & “\test” As ThisWorkbook.path & “\test2”
End Sub
220、 文件夹及内部文件移动
Sub w5()
Name ThisWorkbook.path & “\test2” As ThisWorkbook.path & “\2011年报表\test100”
End Sub
221、 文件夹的复制
调用FSO对象,利用CopyFolder方法可以复制文件夹。
Sub CopyFile_fso()
Dim fso As Object
Set fso = CreateObject(“Scripting.FileSystemObject”)
fso.CopyFolder ThisWorkbook.path & “\测试新建文件夹”, ThisWorkbook.path & “\2011年报表”
Set fso = Nothing
End Sub
222、 打开文件夹
使用shell函数桌面管理程序打开文件夹
Sub w7()
Shell "explorer.exe " & ThisWorkbook.path & “\2011年报表”, 1 '注意exe后有个空格
End Sub
223、 遍历指定文件夹中的文件
利用Dir函数遍历文件。
Sub 遍历文件()
Dim Filename As String, mypath As String, k As Integer
mypath = ThisWorkbook.Path & “\2011年报表\1月\A公司”
Range(“A1:A10”) = “”
Filename = Dir(mypath & “.xls") '利用Dir函数
Do
k = k + 1
Cells(k, 1) = Filename
Filename = Dir '循环中必须加这1句,Dir 会返回匹配 pathname 的第一个文件名。若想得到其它匹配 pathname 的文件名,则再一次调用 Dir,且不要使用参数
Loop Until Filename = “”
End Sub
224、 遍历当前路径下文件夹(不含文件夹内文件和子文件夹)
利用Dir函数遍历文件夹。
Sub 遍历当前路径下文件夹()
Dim Filename As String, mypath As String, k As Integer
mypath = ThisWorkbook.Path & “\2011年报表”
Range(“A1:A10”) = “”
Filename = Dir(mypath, vbDirectory) '利用Dir函数的第2个参数,指定为文件夹
Do
If Not Filename Like "
.*” Then '如果不加,会多出2个.和…的文件夹(当前目录和上一级目录的文件夹名称)
k = k + 1
Cells(k, 1) = Filename
End If
Filename = Dir
Loop Until Filename = “”
End Sub

发布了47 篇原创文章 · 获赞 0 · 访问量 198

猜你喜欢

转载自blog.csdn.net/tiansdk320/article/details/104365992