这个系列集锦一些常用的功能模块,在一些项目中会穿插应用,我来为大家讲解一下关于excel vba文件管理?跟着小编一起来看一看吧!
excel vba文件管理
- 系统环境:Windows 10
- Excel:2016版本
这个系列集锦一些常用的功能模块,在一些项目中会穿插应用
今天讲讲与文件夹相关的一些操作
主要是使用fso及VBA自带的一些函数
Part 1:准备工作
- FSO引入
Set fso = CreateObject("Scripting.FileSystemObject")
Part 2:常用功能
- 判断文件夹是否已经存在,存在则获取文件夹对象,不存在则创建文件夹
If fso.FolderExists(NewFolderName) Then
Set myfolder = fso.Getfolder(NewFolderName)
Else
Set myfolder = fso.createfolder(NewFolderName)
End If
- 判断文件夹是否已经存在,其中vbDirectory不能省略
If Dir(CurrentDir & NewFolder, vbDirectory) <> "" Then
MsgBox "文件夹已存在"
End If
- 以文件夹的绝对地址创建文件夹
CurrentDir = ThisWorkbook.Path & "\"
NewFolder = "test"
MkDir CurrentDir & NewFolder
- 删除文件夹,含有子文件一并删除
fso.DeleteFolder (NewFolderName)
- 删除文件夹,要求文件夹必须为空。若存在文件,可以配合Kill一起使用
RmDir CurrentDir & NewFolder
- 重命名文件夹,Name 原名称 as 新名称
Name CurrentDir & NewFolder As CurrentDir & "test6"
- 复制文件夹,fso.CopyFolder 原地址 , 新地址
fso.CopyFolder CurrentDir & "test", CurrentDir & "test8"
- 遍历文件夹内文件,Wenjian.Name获得是文件的名称(含后缀),但不含绝对地址
For Each Wenjian In fso.GetFolder(CurrentDir).Files
WenjianName = Wenjian.Name
Next
- 遍历文件夹内子文件夹,Wenjian.Name获得是文件夹的名称,但不含绝对地址
For Each Wenjianjia In fso.GetFolder(CurrentDir).SubFolders
WenjianjiaName = Wenjianjia.Name
Next
以上,为本次的介绍内容,下回见。
本文首发于Excel高效办公之VBA。排版和细节略作修改,发于头条
,