发新话题
打印

vb中FSO对象的一般操作?

vb中FSO对象的一般操作?

Dim m_objFSO As Scripting.FileSystemObject '定义文件系统对象
    Set m_objFSO = New Scripting.FileSystemObject
    Dim objFolder As Scripting.Folder
    Set objFolder = m_objFSO.GetFolder(mypath)      'mypath="c:\program files\aaa\"
    Dim objFile As Scripting.File '文件对象
   For i = 1 To objFolder.Files.Count
    Debug.Print objFolder.Files.Item(i)
Next[/colo]
'For Each objFile In objFolder.Files
'    Debug.Print objFile.ShortName
'Next

上面红色部分的代码不能正常运行,总是出现 实时错误5,无效的过程调用或参数

问题出在哪里。难道就只能用for each吗?难道不能用自定义的循环变量(i,j k....)来控制???
objfolder.files.item(i)不行,objfolder.files.item(i).shortname也不行???
只能用objfile.shortname????

TOP

根据对象浏览器里的说明,files.item返回的是file,folder.item返回的是files,        file.shortname返回的是string ,
那么,files.item(i).shortname返回的应该是字符串啊?怎么会连基本的debug.print 都不可以呢???


PS,最后,直接用Scripting.FileSystemObject的getfile方法得到并赋值给file,这样就可以用i,j,k等控制了。
     不过,想来没有道理啊???哎,VB中所谓的面向对象看来还真没JAVA简单啊!
    郁闷中..........

[ 本帖最后由 只爱陌生人 于 2006-8-1 20:03 编辑 ]

TOP

使用For Each<

TOP

本来用FSO对象应该蛮简单的,但是,哎,还不如用drive,dir file控件来得方便。至于界面,把drive ,dir file隐藏之后就一样了,只是不知道运行效率怎样?

TOP

使用对像并不见得快,你可以使用DIR函数。

TOP

发新话题