我们在使用Excel VBA进行处理数据时,或多或少会涉及到如何操作文件和文件夹。本节将重点讲述如何新建、打开、删除、复制、移动和重命名文件和文件夹操作等。
对于文件和文件夹操作,我们一般通过下面方法:
。VB命令
。EXCEL对象
。引用其他动态库对象
。API函数
在这里,我们尽可能通过不同的方法来展示如何操作文件和文件夹。注意,这里所涉及的文件一般以Excel为主。
对于如何运用文件之间的处理,如,文本文件、WORD、ACCESS和PPT与EXCEL之间的互访与查询,我们将在下节中讲解。
在本节开始之前,我们需要预备的知识点:
1、如何引用动态工程库。
打开VBE-工具-引用
选择Microsoft Scripting Runtime动态库
下面我们将会频繁用到Scripting.FileSystemObject对象来操作文件和文件夹。
另,此scrrun.dll动态库还包含了Scripting.Dictionary字典对象。
2、前期绑定和后期绑定
我们知道,VB是面向对象化编程,MS提供很多的DLL动态链接库,通过这些对象,我们可以轻松地完成任务。我们可以通过前期绑定或后期绑定来引用DLL库。
1)前期绑定。如同我们在上面用手动引用动态工程库方式,在编译代码前,我们就完成了的绑定。绑定之后,写入下面代码,创建和引用对象:
Sub BandObject()
Dim fso As Scripting.FileSystemObject
Set fso = New Scripting.FileSystemObject
DIM FSO NEW Scripting.FileSystemObject
End Sub
2)后期绑定。使用CreateObject函数,绑定某一个对象。此时,我们只有在程序运行时,绑定才有效,如,
Sub CrtObject()
Dim ObjFso As Object
Set ObjFso = CreateObject("Scripting.FileSystemObject")
End Sub
3、小结:
1)、前期和后期绑定区别在于定义方式和创建方式不同。
2)、前期绑定的优势在于,可以使用自动列出成员方式,查看对象的方法和属性;而后期绑定无法使用。
3)、小心后期绑定的写法。不是所有的后期绑定都是和前期绑定的对象写法一致。如,对象库:Microsoft Shell Controls And Automation
前期绑定:
Dim oShell As Shell32.Shell
Set oShell = New Shell32.Shell
后期绑定:
Dim oShell As Object
Set oShell = CreateObject("Shell.Application")
一、文件操作
1、新建Excel文件
Excel对象:Add方法:
2、打开文件
1)、EXCEL对象:Open方法
直接打开一个工作簿。
expression.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad, OpenConflictDocument)
2)、Excel对象:OpenText
1、保存文件
1、建立文件的桌面快捷方式 1、复制文件
1、文件重命名
删除文件
|
二.文件夹操作
1、新建文件夹
2、打开文件夹
1)、Shell
2)、引用Microsoft Shell Controls And Automation动态库
1)后期绑定方式,选择文件夹
2、复制文件夹
FileSystemObject对象:CopyFolder
1、移动文件夹
FileSystemObject对象:MoveFolder
2、删除文件夹
VB语句:RmDir
Shell语句
FileSystemObject对象:DeleteFolder
1、获取父文件夹名
FileSystemObject对象:ParentFolder
VBA :Split函数
2、文件夹重命名
FileSystemObject对象:Folder.name
VB语句:Name