纲举目张

  • 说明
  • 关键技术点:Dir函数
  • 代码code
  • 运行效果图
  • 使用说明

说明

本次所讲的遍历获取某文件夹下所有文件,其实是我的《每月自动汇总考勤数据》案例中的其中一个知识点,近期我将会集中将本案例中所有应用到的知识点逐一的写出来,最后汇总成一个真正可用的成品。
本案例中首要的突破的技术难关就是如何获取各部门报送的考勤表文件,然后对比有哪些部门没有报送,如果全都报送了,则逐个读取文件内容填入汇总表中。

关键技术点:Dir函数

返回一个 String,它表示与指定模式或文件属性或驱动器的卷标匹配的文件、目录或文件夹的名称。
语法:Dir [ (pathname, [ attributes ] ) ]
引用自:https://docs.microsoft.com/zh-cn/office/vba/language/reference/user-interface-help/dir-function

Dir 函数语法具有以下部分:

Part 说明
pathname 可选。 指定文件名的字符串表达式,可包括目录或文件夹和驱动器。 如果未找到 pathname,则返回零长度字符串 ("")。
attributes 可选。 其和指定文件属性的常量或数值表达式。 如果省略它,则返回与 pathname 匹配但没有属性的文件。

attributes 参数设置为:

常量 说明
vbNormal 0 (默认)指定没有属性的文件。
vbReadOnly 1 指定只读文件以及不带属性的文件。
vbHidden 2 指定隐藏文件以及不带属性的文件。
vbSystem 4 指定系统文件以及不带属性的文件。 在 Macintosh 上不可用。
vbVolume 8 指定卷标;如果指定任何其他属性,则忽略 vbVolume。 在 Macintosh 上不可用。
vbDirectory 16 指定目录或文件夹以及不带属性的文件。
vbAlias 64 指定文件名为别名。 仅在 Macintosh 上可用。

代码code

Private Sub btnCheck_Click()'获取本文件所在文件夹所有文件Dim strPath As StringstrPath = ActiveWorkbook.PathDim coFiles As New CollectionDim tFile As StringtFile = Dir(strPath & "\", vbDirectory)Do While tFile <> ""If tFile <> "." And tFile <> ".." Then'系统会自动出现两个名为"."和".."的内容,其所能发挥的功能不是本次案例所需要的,所以将此内容剔除。coFiles.Add (tFile)End IftFile = Dir'每调用一次Dir只返回一个文件名Loop'为了方便呈现效果,在sheet1中的第2列显示出结果For i = 1 To coFiles.CountCells(1 + i, 2).Value = coFiles.Item(i)NextMsgBox "运行结束,请检查运行结果。"
End Sub

运行效果图

使用说明

  1. 获取到的文件名存储在一个Collection类型中,存储、统计、调用皆是相当简洁;
  2. 在遍历获取文件夹所有文件时会出现两个名为".“和”…"的内容,这两个内容有熟悉的朋友会在WinRAR压缩软件中见过,具体如何使用不是本次案例所需要掌握的,暂不深入了解;
  3. Dir函数的特点是,每调用一次仅返回一个文件名,所以要采用循环语句,当遍历了所有文件后,再调用Dir函数则返回空字符串。
  4. 请点击下载本文附件

如有意见建议或使用中出现Bug留言,谢谢!

【Excel VBA】遍历获取文件夹下所有文件——每月自动汇总考勤数据实例相关推荐

  1. 【Excel VBA】逐个读取Excel文件并将内容复制到汇总表中——每月自动汇总考勤数据实例

    纲举目张 说明 关键技术点:Workbooks.Open 代码code 运行效果图 使用说明 说明 上一讲[Excel VBA]利用数组.集合.循环等检查各单位报送情况--每月自动汇总考勤数据实例已经 ...

  2. python根据文件名或后缀名遍历文件夹下所有文件或图片的路径,并计算文件行数

    python遍历文件夹下所有文件或图片的路径 代码 指定目录下的指定后缀文件 import glob #获取指定目录下的所有图片 print (glob.glob("\\home\\qiao ...

  3. bat递归查找指定文件_批处理脚本遍历指定文件夹下的文件

    批处理脚本 1. 遍历指定文件夹下的文件 1.1 命令解释 命令: for [参数] %%变量名 in (匹配符) do (执行的命令) 切记:每个指令之间必须以空格隔开,in 与 ( 之间有空格,d ...

  4. python 获取文件夹所有文件列表_python获取文件夹下所有文件及os模块方法

    python获取文件夹下所有文件 方法一:使用os.listdir import os for filename in os.listdir(r'c:\windows'): print filenam ...

  5. Windows 下 C++ 利用 OpenCV glob 函数获取文件夹下所有文件绝对路径

    绪论 本文记录 Windows 下 C++ 利用 OpenCv glob 函数得到 文件夹下所有文件的绝对路径(含文件名).本文还含有 std::string::find()等函数的记录.如果是 Py ...

  6. c++语言循环读写文件夹,C++遍历文件夹下所有文件的多种方法

    为数不多的好用的代码,遍历文件夹获取所有子文件名,"filespec"可用通配符"*?".注意如果用相对路径的话,获取所有文件名后应再调用SetInitDir将 ...

  7. OpenCV实现遍历文件夹下所有文件

    OpenCV中有实现遍历文件夹下所有文件的类Directory,它里面包括3个成员函数:(1).GetListFiles:遍历指定文件夹下的所有文件,不包括指定文件夹内的文件夹:(2).GetList ...

  8. 怎么遍历服务器文件夹,遍历远程服务器某个文件夹下的文件

    遍历远程文件夹下的文件,您可以考虑使用FTP的方式,具体的请参考下述代码: private string GetFileNames(string URI) { WebClient wClient = ...

  9. Qt 获取文件夹下所有文件

    Qt 获取文件夹下所有文件代码如下: QStringList getFileNames(const QString &path) {QDir dir(path);QStringList nam ...

最新文章

  1. 分布式锁之三:Redlock实现分布式锁
  2. vsftp安装与配置(通过虚拟用户登录)
  3. c语言不安全库_为什么 C 语言仍然占据统治地位?
  4. https wireshark抓包——要解密出原始数据光有ssl 证书还不行,还要有浏览器内的pre-master-secret(内存里)...
  5. [POJ2420]A Star not a Tree?(模拟退火)
  6. Spring Data 系列(二) Spring+JPA入门(集成Hibernate)
  7. 一分钟带你了解Huawei LiteOS组件开发指南
  8. Flutter 列表踩坑
  9. Pyqt+QRcode 生成 识别 二维码
  10. sprintf参数包含本身时,结果并不符合预期
  11. vue+django实现下载文件
  12. 2020年5月份编程语言排行榜
  13. Bootstrap导航--三级菜单
  14. css旋转立方体教程,通过CSS3实现旋转立方体的方法
  15. 肝了一个月,全网最全的数据结构与算法知识总结
  16. bat——批量删除文件文件夹
  17. 关于微信小程序的多选和全选实现
  18. 《啊哈!算法》第一章 - 第三节 - 快速排序(Java实现)
  19. Quartz任务调度——快速入门
  20. 恩智浦 飞思卡尔Freescale Kinetis KEA128学习笔记4——ADC

热门文章

  1. Log4j配置文件解读
  2. 传感器阵列波束优化设计与应用_传感器阵列波束优化设计及应用
  3. 手机无线耳机什么牌子好?手机蓝牙耳机十大品牌排行榜!
  4. Windows系统安装otf(OpenType)字体提示字体文件损坏解决办法
  5. Activity 的四种启动模式,singletop 和 singletask 区别是什么? 一般书签的使用模式是 singletop,那为什么不使用 singletask?
  6. 使用最新的python代码发送可用nbns协议包,获取同一局域网下其它电脑的名称
  7. Arduino使用磁簧开关
  8. rom大小 stm32f205_STM32-MAP文件中固件大小说明
  9. Linux 系统中查找显卡对应的 PCI 槽位号
  10. JAVA毕业设计计算机office课程平台计算机源码+lw文档+系统+调试部署+数据库