No.1

VBA用于文件管理,并不是被大多数人熟知,通过Excel进行文件操作也是一件说难不难,说容易并不容易的事儿。

本节介绍一下如何对电脑文件进行复制、移动、删除、等操作。

电脑文件管理软件哪个好(最好的文件管理软件推荐)(1)

首先认识一个对象。

File对象,翻译过来就是文件对象。

可以对文件进行复制、删除、移动、修改等等各种操作,并且可对提取文件的属性。

下图为对象的方法以及属性,要重点记住,对文件进行操作十分重要。

电脑文件管理软件哪个好(最好的文件管理软件推荐)(2)

No.2

示例

对于文件操作,首先要对文件系统有一个初步了解,如果不清楚文件系统包含哪些内容,那么建议别学File对象,真的很难。

如果对Dos系统或Linux系统,熟练应用文件操作,那么学习File对象就十分简单了。

下图是围绕File对象做出了一个示例,包含了大多数方法应用和属性提取,如果完全掌握,那么就对文件对象操作有了一个很全面的认识。

电脑文件管理软件哪个好(最好的文件管理软件推荐)(3)

左侧按钮分别执行不同的功能。

右侧表格是提取某个文件之后列出其文件信息,如创建日期目录地址等等属性。

下图为执行过程中选择文件对话框。

电脑文件管理软件哪个好(最好的文件管理软件推荐)(4)

No.3

代码

如何创建File对象

Dim fs, f    Set fs = CreateObject("scripting.FileSystemObject")    Set f = fs.GetFile(FileName)

定义两个变量,分别给变量赋值。

变量fs为定义的FileSystemObject对象提供对计算机文件系统的访问权限,变量f返回一个Files对象。

其中FileSystemObject是一个重要的文件系统管理对象,也可以实现对文件的操作,但是其方法实在太多,本节不做介绍。

重点看一下其下的GetFile方法,此方法将返回一个File对象,也就是本节的主要内容。

变量f就是要进行各类文件操作的File对象。

电脑文件管理软件哪个好(最好的文件管理软件推荐)(5)

函数:返回一个File对象

Public Function GetFileObject() As Object '取文件返回File对象    Dim FileName As String    With Application.FileDialog(msoFileDialogFilePicker)        If .Show = -1 Then            .Filters.Clear            .Filters.Add "文本文件", "*.txt"            .Title = "选择文件"            FileName = .SelectedItems(1)        Else            Set GetFileObject = Nothing            Exit Function        End If    End With    Dim fs    Set fs = CreateObject("scripting.FileSystemObject")    Set GetFileObject = fs.GetFile(FileName)    Set fs = NothingEnd Function

上述函数将返回一个File对象,代码执行后将打开一个文件选择器,选择一个文本文件后返回被选文件对象,如果不选择文件就返回一个空对象。

提取文件信息

Private Sub GetFileinfo() '提取文件信息    Set f = GetFileObject'调用提取File对象函数    If f Is Nothing Then GoTo Ex100'如果对象是Nothing退出    Dim sh As Worksheet, cell As Range, xcell As Range    Set sh = ActiveSheet    Set cell = sh.Range("C4:C15")    Dim infoArr(0 To 11), i As Integer    For i = 0 To cell.Rows.Count        Select Case i            Case 0                    infoArr(0) = f.Attributes'文件属性            Case 1                    infoArr(1) = f.datecreated'创建日期            Case 2                    infoArr(2) = f.datelastaccessed            Case 3                    infoArr(3) = f.datelastmodified            Case 4                    infoArr(4) = f.drive'驱动器            Case 5                    infoArr(5) = f.Name'文件名            Case 6                    infoArr(6) = f.parentFolder            Case 7                    infoArr(7) = f.Path'文件路径            Case 8                    infoArr(8) = f.shortname            Case 9                    infoArr(9) = f.shortpath            Case 10                    infoArr(10) = f.Size'文件大小            Case 11                    infoArr(11) = f.Type'文件类型        End Select    Next iSet cell = cell.Item(1).Offset(0, 2).Resize(cell.Rows.Count, 1)    cell = Application.WorksheetFunction.Transpose(infoArr)Ex100:    Set f = NothingEnd Sub

完全理解并学会上面的代码,就对文件操作有一个基本认识了,在实践过程中继续学习,很快就会熟悉操作计算机内的文件信息。

制作一个文件管理系统就可以大显身手了。