首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

为什么FSO模型的运用会出错?解决办法

2012-03-25 
为什么FSO模型的运用会出错?我想做一个文件夹内文件枚举程序,把一个文件夹内的所有文件的文件名罗列到列表

为什么FSO模型的运用会出错?
我想做一个文件夹内文件枚举程序,把一个文件夹内的所有文件的文件名罗列到列表框上

VB code
Dim FSO As New FileSystemObjectDim Fld As FolderPrivate Sub Command1_Click()With CG '这是一个公共对话框控件    .DialogTitle = Label1.Caption '设置对话框标题    .ShowOpen '打开对话框    If .FileName <> "" Then '如果文件名不为空        Text1.Text = FSO.GetParentFolderName(.FileName) '获取文件的父文件夹    Else        Exit Sub    End IfEnd WithSet Fld = FSO.GetFolder(Text1.Text) '打开文件夹取得文件夹对象For i = 0 To Fld.Files.Count '循环读取文件夹对象的文件集合    List1.AddItem Fld.Files.Item(i).Name '写入列表框    DoEvents '释放CPU控制权NextEnd Sub

但是运行到
VB code
    List1.AddItem Fld.Files.Item(i).Name '写入列表框

这一句时就会出现“无效的过程调用或参数”错误,为什么?我中断看了一下,Fld.Files.Count 返回的文件总数是正确的,为什么这样调用回出错?

[解决办法]
一个字一个字给你敲出来

Dim fso As New FileSystemObject
Private Sub Command1_Click()
GetFiles Text1.Text
End Sub


Sub GetFiles(nFolder As String)
Set objFiles = fso.GetFolder(nFolder)
For Each ojbfile In objFiles.Files
List1.AddItem ojbfile.Name
Next
For Each objFolder In objFiles.SubFolders
GetFiles objFolder.Name
Next
End Sub

热点排行