vba获取位置(文件夹的操作方法)
vba获取位置(文件夹的操作方法)Set fobj = CreateObject("Scripting.FileSystemObject")首先,我们用到了一个创建文件操作对象的功能:示例,如下图所示:本示例将自动提取当前目录下的文件夹,然后显示到左侧列表中,单击文件夹名称,右侧列表框显示出相应目录下的文件。就是这么简单的一个功能,我们来看一下如何实现。
Excel工作表是做为文件在电脑中进行保存的,其基础原理就是二进制数的排列组合,然后保存为表格文件。
本文介绍一下,如何利用一个对象,对电脑中的文件和文件夹进行操作。
实际上,操作系统最基础部分就是对磁盘中的数据进行读写操作,vba也给出了解决办法。
而且应用也十分简单。重点是要掌握一些基本的文件操作命令,那么使用起来就不难了。
示例,如下图所示:
本示例将自动提取当前目录下的文件夹,然后显示到左侧列表中,单击文件夹名称,右侧列表框显示出相应目录下的文件。
就是这么简单的一个功能,我们来看一下如何实现。
首先,我们用到了一个创建文件操作对象的功能:
Set fobj = CreateObject("Scripting.FileSystemObject")
以前文章中也介绍过此对象的创建方法。
FileSystemObject,中文含意为文件系统对象。
这个对象下面包含的所有磁盘文件目录的一些操作功能。
本节只介绍如何对文件和文件夹进行操作。
也就是其下的子集,Folders 和 Files对象。
利用 set xF=GetFolder(folderDir)语句,可以返回一个文件夹对象,本语句将返回文件夹对象为xF。folderDir为文件夹地址。
然后利用set xFiles=xF.Files 返回,文件夹下面的所有文件的对象集合。
如下图所示:
代码
返回并显示文件夹信息代码:
Sub ShowFolderInfo(folderDir)
Dim fs xf xs
Set fs = CreateObject("Scripting.FileSystemObject")
Set xf = fs.GetFolder(folderDir)
xs = xf.DateCreated & VBA.vbCrLf & _
xf.Name & VBA.vbCrLf & _
xf.shortpath & VBA.vbCrLf & _
xf.Size & VBA.vbCrLf & _
xf.Type
MsgBox xs
Dim fx As Object
For Each fx In xf.subfolders
Me.ListBox1.AddItem fx.Name 0
Next fx
Set fs = Nothing
Set fx = Nothing
Set xf = Nothing
End Sub
单击列表显示文件
Private Sub ListBox1_Click()
Me.ListBox2.Clear
Dim xPath As String xFolder As String
Dim fs xf xs xfiles
xPath = ThisWorkbook.Path & "\"
xFolder = Me.ListBox1.List(Me.ListBox1.ListIndex)
xPath = xPath & xFolder & "\"
Set fs = CreateObject("Scripting.FileSystemObject")
Set xf = fs.GetFolder(xPath)
Set xfiles = xf.Files
Dim x As Object
For Each x In xfiles
Me.ListBox2.AddItem x.Name 0
Next x
Set xfiles = Nothing
Set xf = Nothing
Set fs = Nothing
End Sub
对文件的操作,这个对象还是很用的,具体对文件进行什么样的操作,接下来的文章会有介绍,比如打开、新建、复制、删除等等。
欢迎关注、收藏
---END---