当前位置: 网学 > 编程文档 > VB > 正文

在VB中使用文件对象

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式
eCount = 0
CheckFolder "C:\"
Debug.Print "C盘下GIF文件总数: " & m_lngFileCount
End Sub

Sub CheckFolder(strPath As String)
Dim objFolder As Scripting.Folder 注释:文件夹对象
Dim objFile As Scripting.File 注释:文件对象
Dim objSubdirs As Scripting.Folders 注释:文件夹集合对象
Dim objLoopFolder As Scripting.Folder 注释:文件夹对象

Debug.Print "Checking directory " & strPath
Set objFolder = m_objFSO.GetFolder(strPath)

注释: 检查目录中的文件
For Each objFile In objFolder.Files
If UCase$(Right$(objFile.ShortPath, 4)) = ".GIF" Then  
注释:这一段是条件检查,但找到的文件是否符合给定的条件,这儿通过取文件名的
注释:最后4位看是不是“.GIF“来判断文件是否是GIF文件。
m_lngFileCount = m_lngFileCount + 1
注释:找到指定条件的文件后进行相应的操作,这儿是把计数器加一。
End If
Next objFile

注释: 在所有子目录中循环,计数。
Set objSubdirs = objFolder.SubFolders
For Each objLoopFolder In objSubdirs
CheckFolder objLoopFolder.Path  
注释:递归调用CheckFolder子过程,实现目录树的遍历。
Next objLoopFolder

Set objSubdirs = Nothing
Set objFolder = Nothing

End Sub


   为了简化这段代码,FileSystemObject对象和文件计数器都被定义为这个模块的全局变量(因此前面都加了m_前缀)。CheckFolder 子程序开始时用C:\ 作为入口参数,一旦找到一个符合条件的文件,就把计数值加一。检查完下面的所有文件后,再用其子目录作为参数调用CheckFolder过程本身。当所有的目录都被作为参数调用了之后,所有的文件也就被检查完了。这就是用递归遍历目录树的方法。所谓递归,就是过程直接或者间接的调用自身。最后,作为过程调用的结果,统计数字被Main过程显示出来。  

   只要把检验文件是否为GIF文件的部分换成其它的条件,再把计数的语句换成想要执行的语句块。每当找到符合条件的语句后,就会执行这个语句块。这样就可以很容易的把代码修改用于其它的用途。  

   如果你曾今用过Dir函数来实现同样的功能,那么你一定会感到用对象编程的方便之处。不论你是想检查文件属性,还是创建新的文件,或者其它任何关于文件的操作,新的文件对象都会为你节省不少时间,而且是代码更加易于理解。

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号