VB读取C:\1\下所有以数字命名的文件夹的名称并显示在listbox里

如题所述

第1个回答  2007-12-12
Private Sub Command1_Click()
get_folders List1, "C:\1\"
End Sub
Private Sub get_folders(ByRef List1 As ListBox, ByVal path As String)
Dim fso As New Scripting.FileSystemObject
Dim fd As Scripting.Folder
Dim fd_1 As Scripting.Folder
Set fd = fso.GetFolder(path)
For Each fd_1 In fd.SubFolders
If IsNumeric(FindStr(fd_1.path, "\")) Then
List1.AddItem fd_1.path
End If
Next
End Sub

Public Function FindStr(ByVal vSourceStr As String, Optional ByVal vsStr As String, Optional ByVal veStr As String) As String
Dim sourceStr, sourceStrtemp, sourceStrtemp2, sStr, eStr, S, E, opStr
sourceStr = vSourceStr
sStr = vsStr
eStr = veStr
For i = Len(sourceStr) To 1 Step -1
sourceStrtemp = sourceStrtemp & Mid$(sourceStr, i, 1)
Next
For i = Len(sStr) To 1 Step -1
sourceStrtemp2 = sourceStrtemp2 & Mid$(sStr, i, 1)
Next
S = InStr(sourceStrtemp, sourceStrtemp2)
If S <> 0 Then
sourceStrtemp = Mid$(sourceStrtemp, 1, S - 1)
sourceStrtemp2 = ""
For i = Len(sourceStrtemp) To 1 Step -1
sourceStrtemp2 = sourceStrtemp2 & Mid$(sourceStrtemp, i, 1)
Next
FindStr = sourceStrtemp2
Else
FindStr = ""
End If
End Function

注意:
控件 一个列表 一个按键
工程 > 引用 Microsoft Scripting Runtime
第2个回答  2007-12-12
新建工程 ,一个按钮,一个listbox

Private WithEvents a As DirListBox

Private Sub Command1_Click()
Set a = Controls.Add("VB.dirListBox", "Dir1")
With a
.Visible = False
.Path = "c:\1\"
End With
List1.Clear
For i = 0 To a.ListCount - 1
b = Right(a.List(i), Len(a.List(i)) - Len("c:\1\"))
If IsNumeric(b) Then List1.AddItem b
Next
End Sub本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网