Private Sub Command1_Click()
Dim fs As New FileSystemObject ' 建立 FileSystemObject
Dim fd As Folder ' 定义 Folder 对象
Dim sfd As Folder
Set fd = fs.GetFolder("c:\")
ListFolder fd
End Sub Sub ListFolder(fd As Folder)
Dim sfd As Folder
For Each sfd In fd.SubFolders
Debug.Print sfd.Path
List1.AddItem sfd.Path
ListFolder sfd ' 以 sfd 为参数,递归调用
Next
End Sub
Dim fs As New FileSystemObject ' 建立 FileSystemObject
Dim fd As Folder ' 定义 Folder 对象
Dim sfd As Folder
Set fd = fs.GetFolder("c:\")
ListFolder fd
End Sub Sub ListFolder(fd As Folder)
Dim sfd As Folder
For Each sfd In fd.SubFolders
Debug.Print sfd.Path
List1.AddItem sfd.Path
ListFolder sfd ' 以 sfd 为参数,递归调用
Next
End Sub
解决方案 »
- 为什么Print #1, Data失败?
- 为什么同一个软件的界面 在不同的电脑下 同一个像素点的像素会不一样?
- 急急急!!!如何实现与摄像头交互?重酬!!!
- VB中如何判断控件是否存在啊?
- vb中如何象水晶报表或设计器中的报表中传递参数方便在做报表的时候查询!在线
- 把记录集绑定到DATAGRID控件上如何实现?
- ATL编写的控件方法中包含VARIANT,在VB中应如何调用
- 给分:对于一个转换函数的问题
- 在本机怎么开启FSO服务?
- 请问Ado调用Excel表的时候,connectiongstring 以及相应的Sql语句该怎么写。比如说我要显示一个Sheet
- 如何实现“使输入一个text box的long型数是有8位数的Long”?
- 在VB中如何加载输入法:
看看MSDN,你既然会用FSO,还有什么解决不了的
不就是递归吗:
set AddTreeNode=xpnode.add strFolder,……
end funciton
每次得到的父文件夹的节点AddTreeNode作为子文件夹的xPNode
dim lCount as longPrivate Sub Command1_Click()
Dim fs As New FileSystemObject ' 建立 FileSystemObject
Dim fd As Folder ' 定义 Folder 对象
Dim sfd As FolderlCount=1
tvw.nodes.add ,,"k" & lCount,"c:\"
Set fd = fs.GetFolder("c:\",lCount)
ListFolder fd
End SubSub ListFolder(fd As Folder,byval pCount as long)
Dim sfd As Folder
For Each sfd In fd.SubFolders
Debug.Print sfd.Path
List1.AddItem sfd.Path
lcount=lcount+1
tvw.nodes.add "k" & pcount,tvwChild,"k" & lCount,sfd.path ListFolder sfd,lcount ' 以 sfd 为参数,递归调用
Next
End Sub
这里,tvw是一个treeview控件
'这位朋友,写得很不错,不过有点差错现将调试完成的,代码更改如下:
Dim lCount As LongPrivate Sub Command1_Click()
Dim fs As New FileSystemObject ' 建立 FileSystemObject
Dim fd As Folder ' 定义 Folder 对象
Dim sfd As Folder
lCount = 1
tvw.nodes.Add , , "k" & lCount, "d:\"
'将原有的代码:
'Set fd = fs.GetFolder("d:\",.lCount)
'ListFolder fd
'改成下面的代码就可以了
Set fd = fs.GetFolder("d:\")
ListFolder fd, lCount
End SubSub ListFolder(fd As Folder, ByVal pCount As Long)
Dim sfd As Folder
For Each sfd In fd.SubFolders
Debug.Print sfd.Path
List1.AddItem sfd.Path
lCount = lCount + 1
tvw.nodes.Add "k" & pCount, tvwChild, "k" & lCount, sfd.Name ListFolder sfd, lCount ' 以 sfd 为参数,递归调用
Next
End Sub
'tvw为treeview控件
http://www.fantasiasoft.net/Zyl910/DirList.zip
点哪一个Node,再对其子节点枚举比较好。就像CSDN的导航栏
=================================我的程序就是的
sorry,没有调试就给你了,手里倒是有vb了,但是我从来没有用过fso,所以,呵呵,找了半天没有找到fso的对象是哪个,所以,没有调就给你了。
反正你自己也调好了,目的达到了吧?
http://www.fantasiasoft.net/Zyl910/DirList.zip
自己又学了一招了,在这段代码中上涉及到了参数在过程中的传递其中lcount就是要参数,刚学的朋友,一定要学一学参数传递,