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

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

Dim FSO As New FileSystemObject
Dim Fld As Folder

Private Sub Command1_Click()
With CG '这是一个公共对话框控件
    .DialogTitle = Label1.Caption '设置对话框标题
    .ShowOpen '打开对话框
    If .FileName <> "" Then '如果文件名不为空
        Text1.Text = FSO.GetParentFolderName(.FileName) '获取文件的父文件夹
    Else
        Exit Sub
    End If
End With

Set Fld = FSO.GetFolder(Text1.Text) '打开文件夹取得文件夹对象
For i = 0 To Fld.Files.Count '循环读取文件夹对象的文件集合
    List1.AddItem Fld.Files.Item(i).Name '写入列表框
    DoEvents '释放CPU控制权
Next

End 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