FSO(File System Object,文件系统对象)是微软提供的一个“工具箱”,它能让我们的VBA程序像手动操作电脑一样,去创建、删除、移动、复制文件和文件夹,还能查看文件信息(比如名字、大小、修改日期)和检查硬盘空间
因为它功能强大,内容也比较多,所以我会分成几期来详细讲解,本期重点介绍如何通过FSO操作文件夹

创建
CreateFolder方法用于创建一个新的文件夹,其语法:
object.CreateFolder(foldername)
一个简单的应用,在路径D:\常用文件下创建一个名为tmp的文件夹
Dim fso As ObjectSet fso = CreateObject("Scripting.FileSystemObject")fso.CreateFolder ("D:\常用文件\tmp")
以上代码首先声明了一个名为 fso 的变量,其类型为 Object;接着使用 CreateObject 函数创建了一个“Scripting.FileSystemObject”对象的实例,并将其赋值给之前声明的 fso 变量;最后调用了 fso 对象的 CreateFolder 方法创建文件夹
但是,一般为了避免因重复创建而导致的错误,在创建文件夹前,我们通常会先用 FolderExists 方法检查是否存在,因此完整的代码为:
Dim fso As ObjectSet fso = CreateObject("Scripting.FileSystemObject")If Not fso.FolderExists("D:\常用文件\tmp") Thenfso.CreateFolder ("D:\常用文件\tmp")ElseMsgBox "文件夹已存在"End If
VBA内置的MkDir命令只能创建单级文件夹,且父文件夹必须存在。同样,FSO的CreateFolder方法本身也不能直接创建多级目录因此,创建任意多层文件夹需要额外的逻辑
关于创建多层文件夹,其实基于目前的编程技能,相信大家一定有自己的创建逻辑。当然如果没有头绪也不着急,后续也会分享相关的内容


792

被折叠的 条评论
为什么被折叠?



