本文介绍如何在VBA中递归列出文件,在列表框中显示文件路径和文件名

前面的我们讲过类似的实例《Access获取文件夹内的文件名及路径》,下面函数的功能更加完整

Public Function ListFiles(strPath As String, Optional strFileSpec As String, _ Optional bIncludeSubfolders As Boolean, Optional lst As ListBox)On Error GoTo Err_Handler 'Purpose: List the files in the path. 'Arguments: strPath = the path to search. ' strFileSpec = "*.*" unless you specify differently. ' bIncludeSubfolders: If True, returns results from subdirectories of strPath as well. ' lst: if you pass in a list box, items are added to it. If not, files are listed to immediate window. ' The list box must have its Row Source Type property set to Value List. 'Method: FilDir() adds items to a collection, calling itself recursively for subfolders. Dim colDirList As New Collection Dim varItem As Variant  Call FillDir(colDirList, strPath, strFileSpec, bIncludeSubfolders)  'Add the files to a list box if one was passed in. Otherwise list to the Immediate Window. If lst Is Nothing Then For Each varItem In colDirList Debug.Print varItem Next Else For Each varItem In colDirList lst.AddItem varItem Next End IfExit_Handler: Exit FunctionErr_Handler: MsgBox "Error " & Err.Number & ": " & Err.Description Resume Exit_HandlerEnd FunctionPrivate Function FillDir(colDirList As Collection, ByVal strFolder As String, strFileSpec As String, _ bIncludeSubfolders As Boolean) 'Build up a list of files, and then add add to this list, any additional folders Dim strTemp As String Dim colFolders As New Collection Dim vFolderName As Variant 'Add the files to the folder. strFolder = TrailingSlash(strFolder) strTemp = Dir(strFolder & strFileSpec) Do While strTemp <> vbNullString colDirList.Add strFolder & strTemp strTemp = Dir Loop If bIncludeSubfolders Then 'Build collection of additional subfolders. strTemp = Dir(strFolder, vbDirectory) Do While strTemp <> vbNullString If (strTemp <> ".") And (strTemp <> "..") Then If (GetAttr(strFolder & strTemp) And vbDirectory) <> 0& Then colFolders.Add strTemp End If End If strTemp = Dir Loop 'Call function recursively for each subfolder. For Each vFolderName In colFolders Call FillDir(colDirList, strFolder & TrailingSlash(vFolderName), strFileSpec, True) Next vFolderName End IfEnd FunctionPublic Function TrailingSlash(varIn As Variant) As String If Len(varIn) > 0& Then If Right(varIn, 1&) = "" Then TrailingSlash = varIn Else TrailingSlash = varIn & "" End If End IfEnd Function

在名为“lstFileList”列表框,并设置行来源类型为“值列表”

在代码中调用函数, Call ListFiles("D:OfficeCnOffice Addin

.net如何获取文件夹中的文件_access递归列出文件夹中的文件相关推荐

  1. java数组求和递归,js数组去重 数组拼接 替换数组中的指定值 递归数组 判断数组中是否存在指定值 数组求和 根据条件判数组值...

    // 数组去重 var arr1 = [1,1,2,3,4,5,6,3,2,4,5,'a','b','c','a',6,7,8,3,5,7,8,34] // console.log(Array.fro ...

  2. 2021-12-09把文件夹1中的与文件夹2里同名图片删除或者保存至另一个文件夹

    如果文件夹1(大)的里面包含了与文件夹2(小)的同名图片: # !/usr/bin/env python # encoding: utf-8import os import glob from PIL ...

  3. Winform中实现向窗体中拖放照片并显示以及拖放文件夹显示树形结构(附代码下载)

    场景 向窗体中拖拽照片并显示效果 向窗体中拖拽文件夹并显示树形结构效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 ...

  4. java 文件递归删除文件夹_Java十行代码实现递归删除文件夹中所有文件

    递归删除文件夹中所有文件 要递归首先需要有方法.递归,即方法自己调用自己.一般在程序中很少使用,但在这个实现中,我们无法知道文件夹的深度,更无法根据深度来实现循环的嵌套. 递归两个重要条件: 终止边界 ...

  5. python查找指定文件夹并重命名_python获取指定文件夹下的所有文件名,并删选指定类型文件进行重命名以及撤销重命名...

    1.加载包 import os 2.定义函数:获取文件夹file_dir下指定类型file_type的所有文件名 def file_name(file_dir,file_type=''):#默认为文件 ...

  6. elupload获取文件名与路径_Python检查word文件中的特殊“标记”词是否与文件名中的一致(实例59)...

    公司的部分文件分为"内部"和"外部".正常情况下,这个标识在文件名及文件首页左上角都有标注.然鹅,有时候操作一下,忘记改了,或者忘记标注了.就需要回头去一个一个 ...

  7. Python 实现office单个文件或整个文件夹(word,ppt,excel)转换成PDF文件,并获取PDF文件页数

    Python 实现office单个文件或整个文件夹(word,ppt,excel)转换成PDF文件,并获取PDF文件页数 文件夹中获取需要转换的文件数,将其全部转换或可单独转换单个文件,并获取转成PD ...

  8. MATLAB 实现读取数据文件,画图并自动将图片保存到文件夹中

    实现读取峰值数据,增加道数筛选符合要求的道数值,画出直方图并自动将图片保存到文件夹中,也可选择将直方图中点连线. %%读取峰值数据,增加道数筛选符合要求的道数值,画出直方图并自动将图片保存到文件夹中, ...

  9. 【python】使用python脚本将CelebA中同一人的图片捡到对应单独的文件夹中

    1.目的 CelebA的所有的照片都在一个文件夹中,为了能在dlib训练人脸识别时,方便使用,将CelebA中同一人的图片捡到对应单独的文件夹中. [AI]CelebA数据介绍.下载及说明 2.方法 ...

最新文章

  1. 【原创】ListView快速滚动至新添加一行(自动滚动)
  2. unix mysql命令大全_mySql的一些常用命令
  3. react-router的基础知识
  4. wasm逆向——(极客大挑战2021wasm
  5. Hi3516A开发--内存换算
  6. Spring Security——自定义认证错误提示信息及自适应返回格式解决方案
  7. JavaScript实现完整的matrix矩阵类(附完整源码)
  8. VTK:PolyData之Casting
  9. 第 4 章  超链接和路径
  10. hive建立内部表映射hbase_快手 HBase 在千亿级用户特征数据分析中的应用与实践...
  11. Mac OS X 10.10如何打开虚拟内存
  12. 通过iframe搭建后台管理系统右侧内容_七巧Plus | 搭建量身定制的EAM资产管理系统...
  13. C++学习:第一章 开始
  14. 教程 | 一个基于TensorFlow的简单故事生成案例:带你了解LSTM
  15. python 面试必问,不会真的要打脸~
  16. 【图像配准】基于matlab GUI互相关图像配准【含Matlab源码 853期】
  17. python算法——冒泡排序
  18. Python入门教程之安装MyEclipse插件和安装Python环境
  19. 如何使用机器学习在一个非常小的数据集上做出预测
  20. 污水计算机仿真技术,活性污泥法污水处理计算机仿真软件的开发及应用

热门文章

  1. 直接用自己服务器做图床可以吗_图床+typora+gitee,写文档再也不那么麻烦
  2. c语言读入图片matlab,将数据从matlab文件读入C语言
  3. C51单片机————串行接口
  4. JVM 性能调优监控工具
  5. hessian、rmi、dubbo与rpc关系
  6. iBase4J部署总结¥
  7. go语言基础之不同作用域同名变量
  8. 【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】
  9. 如何为Linux安装Go语言
  10. WPF 如何在代码中使用自定义的鼠标资源