商机资讯
「Excel_VBA」功能模块_文件及文件夹_01_
2021-12-04 04:38  浏览:337
  • 系统环境:Windows 10
  • Excel:2016版本

    这个系列集锦一些常用得功能模块,在一些项目中会穿插应用

    今天讲讲与文件夹相关得一些操作

    主要是使用fso及VBA自带得一些函数

    Part 1:准备工作
    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.NameNext

  • 遍历文件夹内子文件夹,Wenjian.Name获得是文件夹得名称,但不含可能吗?地址

    For Each Wenjianjia In fso.GetFolder(CurrentDir).SubFolders WenjianjiaName = Wenjianjia.NameNext

    以上,为本次得介绍内容,下回见。

    感谢首次于:Excel高效办公之VBA。排版和细节略作修改,发于头条