VB编程:获取文件夹下所有文件-1

简介: VB编程:获取文件夹下所有文件-1

image.png

Private Function TreeSearch(ByVal sPath As String, ByVal sFileSpec As String) As Long

   DoEvents

   Static Files As Long

   Dim sDir As String

   Dim sSubDirs() As String

   Dim Index As Long

   Dim sFiles() As String

 

   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

   

      '显示到列表

      List1.AddItem sFiles(Files)

      List1.ListIndex = List1.ListCount - 1

   

      sDir = Dir

   Loop

   '获取文件夹名称

   Index = 0

   sDir = Dir(sPath, vbDirectory)

   Do While Len(sDir) 'sDir <> ""

       If sDir <> "." And sDir <> ".." Then

           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)

   Next Index

   TreeSearch = Files

End Function



Private Sub Command1_Click()

 

   Print TreeSearch(Text1.Text, Combo1.Text)

 

End Sub



Private Sub Command2_Click()

   End

End Sub



'Private Sub Command3_Click()

'    List1.Clear

'End Sub



Private Sub Form_Load()

   Text1.Text = "D:\vb小程序\vb实例"

   Dim spec As Variant

   spec = Array("*.*", "*.exe", "*.vbp")

   Combo1.Text = spec(0)

   For i = 0 To UBound(spec)

       Combo1.AddItem spec(i)

   Next i

End Sub

相关文章
hook+ant design实现文本Input多行编辑
hook+ant design实现文本Input多行编辑
239 0
|
Java 算法 程序员
带你读《新一代垃圾回收器ZGC设计与实现》之一:垃圾回收器概述
JDK 11于2018年9月25日正式发布,这个版本引入了许多新的特性,其中最为引人注目的就是实现了一款新的垃圾回收器ZGC。
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
3483 0
|
7月前
|
XML 机器学习/深度学习 人工智能
CLaMP 3:音乐搜索AI革命!多模态AI能听懂乐谱/MIDI/音频,用27国语言搜索全球音乐
CLaMP 3是由清华大学团队开发的多模态、多语言音乐信息检索框架,支持27种语言,能够进行跨模态音乐检索、零样本分类和音乐推荐等任务。
304 1
CLaMP 3:音乐搜索AI革命!多模态AI能听懂乐谱/MIDI/音频,用27国语言搜索全球音乐
|
11月前
|
存储 数据库 Docker
|
10月前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的256QAM基带通信系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了256QAM调制解调算法的仿真效果及理论基础。使用Vivado 2019.2进行仿真,分别在SNR为40dB、32dB和24dB下生成星座图,并导入Matlab进行分析。256QAM通过将8比特数据映射到复平面上的256个点,实现高效的数据传输。Verilog核心程序包括调制、信道噪声添加和解调模块,最终统计误码率。
265 0
|
安全 关系型数据库 MySQL
"深度解析:MySQL密码修改与远程登录配置全攻略,保障数据库安全与灵活访问"
【8月更文挑战第9天】MySQL是广受青睐的开源关系型数据库系统,其安全性和易用性对DBA和开发者至关重要。本文通过实例解析MySQL中用户密码更新及远程登录配置,确保数据库安全访问与高效管理。首先介绍如何分步修改密码,包括登录MySQL、选择数据库、使用`ALTER USER`命令更新密码,并刷新权限。接着,指导如何配置远程访问,涉及调整MySQL监听地址、授权用户远程登录、检查网络设置及测试远程连接。遵循这些步骤,可强化数据库安全性并实现灵活管理。
745 0
|
机器学习/深度学习 传感器 边缘计算
【优化调度】基于粒子群实现面向物联网应用的动态请求调度优化附matlab代码和论文
【优化调度】基于粒子群实现面向物联网应用的动态请求调度优化附matlab代码和论文
java202302java学习笔记第十一天-买飞机票和质数2
java202302java学习笔记第十一天-买飞机票和质数2
153 0
java202302java学习笔记第十一天-买飞机票和质数2