VB遍历目录,并把路径显示到ListBox中。

PublicFunctionTreeSearch(ByValsPathAsString,ByValsFileSpecAsString,sFiles()AsString)A... Public Function TreeSearch(ByVal sPath As String, ByVal sFileSpec As String, sFiles() As String) As Long
On Error Resume Next
Static Files As Long '文件数目
Dim sDir As String
Dim sSubDirs() As String '存放子目录名称
Dim Index As Long
If Right(sPath, 1) <> "\" Then sPath = sPath & "\"
sDir = Dir(sPath & sFileSpec)
'获得当前目录下文件名和数目
Do While Len(sDir)
Files = Files + 1
ReDim Preserve sFiles(1 To Files)
sFiles(Files) = sPath & sDir
sDir = Dir
Loop
'获得当前目录下的子目录名称
Index = 0
sDir = Dir(sPath & "*.*", 16)
Do While Len(sDir)
If Left(sDir, 1) <> "." Then 'skip.and..
'找出子目录名
If GetAttr(sPath & sDir) And vbDirectory Then
Index = Index + 1
'保存子目录名
ReDim Preserve sSubDirs(1 To Index)
sSubDirs(Index) = sPath & sDir & "\"
End If
End If
sDir = Dir
Loop
For Index = 1 To Index
'查找每一个子目录下文件,这里利用了递归
Call TreeSearch(sSubDirs(Index), sFileSpec, sFiles())
Next Index
TreeSearch = Files
End Function

这是函数,不过现在他在ListBox中是显示完整的路径,我只想让它显示最后一个目录加文件名。
现在是:D:\123\345\567\000.txt
我只想让它显示:567\000.txt 在ListBox中。
展开
 我来答
abcnyzay
2011-07-17 · TA获得超过1377个赞
知道小有建树答主
回答量:928
采纳率:100%
帮助的人:1025万
展开全部
Private Sub Command1_Click()
Dim arr() As String
TreeSearch "f:\", "*.exe", arr
For i = LBound(arr) To UBound(arr)
arr1 = Split(arr(i), "\")
List1.AddItem arr1(UBound(arr1) - 1) & "\" & arr1(UBound(arr1))
Next
End Sub
更多追问追答
追问
UBound 缺少数组??
追答
你的机器没有F盘,或F盘下没有EXE文件
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式