FileSystemObject与字典Dictionary都是工具-应用中Microsoft Scripting Runtime的对象,从名字能够看出,这个对象就是用来操作文件的。
和VBA自带的VBA库下FileSystem相比,FileSystemObject这个外部对象封装的功能更多,用起来也更为方便。
几乎前面提到的关于文件的操作这个对象都有:
Scripting对象库中还有File、Folder、TextStream等对象,这几个都是可以使用FileSystemObject的一些方法来创建的。
将这些单独做成一个对象的目的主要也是为了使用上的方便,在VBA里对文件的相关操作使用FileSystemObject对象是非常的方便的。
比如查找遍历文件:
代码语言:javascript复制Sub GetFilesFSO()
Dim fso As Object
Dim file As Object
Dim folder As Object
Set fso = CreateObject("Scripting.FileSystemObject")
'根据路径获取文件夹对象
Set folder = fso.GetFolder(ThisWorkbook.path)
'遍历文件
For Each file In folder.Files
Debug.Print file.path
Next file
'释放对象
Set file = Nothing
Set folder = Nothing
Set fso = Nothing
End Sub
这种对象形式的使用非常好理解,基本模式都是创建对象,使用对象的属性、方法等。
但是以前也说过,这种封装的功能都是底层做好了让我们直接去使用的,我们根本不知道其具体的实现方法和原理,对编写程序来说,个人认为是不大好的,可能初学者学习使用起来比较容易,这是因为封装过程已经隐藏了许多细节上的东西。
所以这种虽然好用,但是还是建议初学者多去使用前面介绍的一些文件操作方法,等以后对文件操作的原理有了一定的理解之后,再去使用这种方便的封装好了的对象。