当前位置:首页 > excel中文件和文件夹操作
文件和文件夹操作
我们在使用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(\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(\
一、 文件操作
1、 新建Excel文件 Excel对象:Add方法: Sub AddWorkBook()
Dim wb As Workbook
Set wb = Workbooks.Add End Sub
Sub AddFile()
Dim wb As Workbook
Set wb = Workbooks.Add
wb.SaveAs ThisWorkbook.Path & \ wb.Close
Set wb = Nothing End Sub
2、 打开文件 1)、EXCEL对象:Open方法 直接打开一个工作簿。
expression.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad, OpenConflictDocument)
Sub OpenWorkbook()
Dim wb As Workbook Dim strWb As String
strWb = ThisWorkbook.Path & \ Set wb = Workbooks.Open(strWb) End Sub
Sub OpenWorkbook2() Dim wb As Workbook Dim strWb As String
strWb = ThisWorkbook.Path & \
Set wb = Workbooks.Open(strWb, UpdateLinks:=False) End Sub 2)、Excel对象:OpenText
Sub OpenText()
Dim strFile As String Dim i As Long
strFile = ThisWorkbook.Path
With Application.FileSearch
Application.DefaultWebOptions.LoadPictures = False
.LookIn = strFile .Filename = \ .Execute
If .Execute() > 0 Then
For i = 1 To .FoundFiles.Count
Workbooks.OpenText .FoundFiles(i) Next End If
Application.DefaultWebOptions.LoadPictures = True End With End Sub 3)、Office对象:FileDialog 通过浏览方式打开文件
Sub OpenFile_FileDialog() Dim fd As FileDialog
Dim FFs As FileDialogFilters Dim vaItem As Variant Dim myWb As Workbook
Set fd = Application.FileDialog(msoFileDialogOpen) With fd
Set FFs = .Filters With FFs .Clear
.Add \文件\ End With
.AllowMultiSelect = True If .Show = -1 Then
For Each vaItem In .SelectedItems
Set myWb = Workbooks.Open(vaItem) Next vaItem End If End With End Sub 4)、API函数方式 打开所有类型的文件 Const SW_SHOW = 5
Private Declare Function ShellExecute Lib \
\ ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
共分享92篇相关文档