刚开始时一直使用第一种,然后每次打开指定的目录就会鼠标一直转,纠结。后来发现第二种,瞬间清爽。 第一种:判断目录较多,效率慢:
'遍历某文件夹及子文件夹中的所有文件 Sub SoSuoFile(MyPath As String) Dim Myname As String Dim a As String Dim B() As String Dim dir_i() As String Dim I, idir As Long If Right(MyPath, 1) <> '\' Then MyPath = MyPath '\' Myname = Dir(MyPath, vbDirectory or vbHidden or vbNormal or vbReadOnly) Do While Myname <> '' If Myname <> '.' And Myname <> '..' Then If (GetAttr(MyPath & Myname) And vbDirectory) = vbDirectory Then '如果找到的是目录 idir = idir 1 ReDim Preserve dir_i(idir) As String dir_i(idir - 1) = Myname Else
Forms!F_PPAP_附件.List3.AddItem Myname '把找到的文件显示到列表框中
End If End If Myname = Dir '搜索下一项 Loop For I = 0 To idir - 1 Call SoSuoFile(MyPath dir_i(I)) Next I ReDim dir_i(0) As String End Sub
第二种:
Dim s As String s = Dir(folderProject & '\', vbDirectory vbNormal vbReadOnly) Do While s <> '' If s <> '.' And s <> '..' Then ''.'和'..',表示当前目录和上层目录 ' Debug.Print '000----'; s Me.List3.AddItem s End If s = Dir Loop
Access培训讲师
张志,2003年-2013连续10年获选微软最有价值专家,Access数据库培训讲师,十余年Access数据库培训经验,服务过的知名企业有北京奔驰、立达(中国)纺织仪器有限公司、中信泰富特钢集团等。 Access软件公司 上海盟威软件有限公司(www.UMVsoft.com),专注于Access培训及为客户用Access定制开发软件。由微软最有价值专家团队创建,设有江阴分公司、株洲分公司。公司自主研发了国内第一款Access开发平台(盟威软件快速开发平台),利用此平台,零基础的人士可以开发出专业的管理类软件,让管理人才转型为“精管理 会编程”的复合型人才。
|