VBA: 如何用VBA遍历文件夹(含子文件夹)里的所有文件
目录
0 原始文件
1 step1:遍历文件夹(不包含子文件)内的文件数
2 step2: 遍历文件夹内的所有子文件夹的名字
3 step3 遍历文件夹的(含子文件)内的所有文件
4 step4 遍历文件夹的(含子文件)内的所有文件夹和文件
0 原始文件夹和文件情况






1 step1:遍历文件夹(不包含子文件)内的文件数
- 遍历文件夹内的文件数
- 但是并不遍历子文件
Function file_dir1()fp = "C:\Users\Administrator\Desktop\ppp\*.*"fn = Dir(fp)Debug.Print fn '避免会少第1个文件Do While fn <> ""fn = DirDebug.Print fnLoopEnd Function

2 step2: 遍历文件夹内的所有子文件夹的名字
- 遍历文件夹的所有子文件的名字
- 可以遍历所有文件夹,及其子文件夹
- 只取得文件夹的名字,不管文件
'----------------step2---------------------------------------------
Sub Folder2()Dim fso As ObjectSet fso = CreateObject("Scripting.FileSystemObject")'确定根目录ff = "C:\Users\Administrator\Desktop\ppp"'遍历根目录下的子文件夹Dim folder As Object ' 当前正在遍历的文件夹Set folder = fso.GetFolder(ff)Call SubProcessFolder2(folder)End SubSub SubProcessFolder2(folder)'子文件夹Dim subFolder As ObjectFor Each subFolder In folder.subfoldersDebug.Print subFolder.Path' 如果还有更深层次的子文件夹,则进行递归调用If subFolder.subfolders.Count > 0 ThenCall SubProcessFolder2(subFolder)End IfNext subFolder
End Sub

3 step3 遍历文件夹的(含子文件)内的所有文件
- 遍历文件夹的,且包含含子文件内
- 所有文件
'-------------step3---------------------------------------------Sub Folder3()Dim fso As ObjectSet fso = CreateObject("Scripting.FileSystemObject")'确定根目录ff = "C:\Users\Administrator\Desktop\ppp"'遍历根目录下的文件Call file3(ff)'遍历根目录下的子文件夹Dim folder As Object ' 当前正在遍历的文件夹Set folder = fso.GetFolder(ff)Call SubProcessFolder3(folder)End SubSub file3(folder)fp = folder & "\*.*"fn = Dir(fp)Do While fn <> ""Debug.Print folder & "\" & fnfn = Dir() '这句话应该放在打印后面Loop
End SubSub SubProcessFolder3(folder)'子文件夹Dim subFolder As ObjectFor Each subFolder In folder.subfoldersCall file3(subFolder)' 如果还有更深层次的子文件夹,则进行递归调用If subFolder.subfolders.Count > 0 ThenCall SubProcessFolder3(subFolder)End IfNext subFolder
End Sub

4 step4 遍历文件夹的(含子文件)内的所有文件夹和文件
- 遍历文件夹的,且包含含子文件内
- 包含文件夹
- 也包含文件
'--------step4---------------------------------------------Sub Folder4()Dim fso As ObjectSet fso = CreateObject("Scripting.FileSystemObject")'确定根目录ff = "C:\Users\Administrator\Desktop\ppp"Debug.Print ff'遍历根目录下的文件Call file4(ff)'遍历根目录下的子文件夹Dim folder As Object ' 当前正在遍历的文件夹Set folder = fso.GetFolder(ff)Call SubProcessFolder4(folder)End SubSub file4(folder)fp = folder & "\*.*"fn = Dir(fp)Do While fn <> ""Debug.Print fn 'folder & "\" & fnfn = Dir() '这句话应该放在打印后面Loop
End SubSub SubProcessFolder4(folder)'子文件夹Dim subFolder As ObjectFor Each subFolder In folder.subfoldersDebug.Print subFolder.PathCall file4(subFolder)' 如果还有更深层次的子文件夹,则进行递归调用If subFolder.subfolders.Count > 0 ThenCall SubProcessFolder4(subFolder)End IfNext subFolder
End Sub

相关文章:
VBA: 如何用VBA遍历文件夹(含子文件夹)里的所有文件
目录 0 原始文件 1 step1:遍历文件夹(不包含子文件)内的文件数 2 step2: 遍历文件夹内的所有子文件夹的名字 3 step3 遍历文件夹的(含子文件)内的所有文件 4 step4 遍历文件夹的(含子文件)内的所有文…...
又快又好! 基于Consistency Model的一步采样歌声转换模型CoMoSVC已开源
在2023年,AI虚拟歌手如AI孙燕姿等已经引起了广泛的关注,而大多数应用都是基于开源框架SoVITS。最近,香港科技大学和微软亚洲研究院推出了一种基于Consistency Model的歌声转换系统CoMoSVC,它在歌声转换速度上与基于Flow的SoVITS系…...
服务器——配置免密登录
一、生成本机的密钥文件 打开本机的终端,输入 ssh-keygen,默认一路点enter。 将生成的 id_rsa.pub 公钥文件,复制一份改一个名称,比如改名成 id_rsa_test.pub。 二、将生成的公钥文件发送到服务器对应账户的.ssh文件夹下 将改…...
GoZero微服务个人探索之路(三)Go-Zero官方rpc demo示例探究
官方网址:https://go-zero.dev/docs/tasks/cli/grpc-demo 项目结构 demo包 两个文件均为protoc-gen-go-grpc自动生成构成一个完整的 gRPC 服务的定义和实现 democlient包 demo.go goctl生成的客户端代码 Request 和 Response 别名: 定义了 Request 和…...
1月下半笔记(个人向)
最近才开始看d2l(这种东西早该在两年前看的,拖到现在了) 为了做项目还得学一手OpenGL(被windows安装GLFW逼疯了) 1.15 打完ICPC EC final回来,也许可以出一篇博客写下简单的题解。 对蛋白质相似空间子结…...
ChatGpt使用技巧
通用类技巧 角色扮演 比如让ChatGpt扮演500强营销专家 告诉ChatGpt你的身份。初学者、或是有一定能力、知识的学习者等 限制ChatGpt回答长度 100~200字之间 让ChatGpt一步一步思考 他会预测下一个单词,根据prompt进行生成 明确你的要求和目的 说清楚问题&#x…...
自动安装解压版mysql8的脚本
由于mysql 8的 MSI 安装包,自动把程序安装到了C盘,且没看到有可以更改安装位置的配置可以修改。 故自行写了一个脚本,用来安装mysql 8的压缩包。可以将 mysql 8 以及其 Data目录 安装到C盘以外的位置。第一次写 bat 脚本,希望各位…...
第二讲_HarmonyOS应用创建和运行
HarmonyOS应用创建和运行 1. 创建一个HarmonyOS应用2. 运行新项目2.1 创建本地模拟器2.2 启动本地模拟器2.3 在本地模拟器运行项目 1. 创建一个HarmonyOS应用 打开DevEco Studio,在欢迎页单击Create Project,创建一个新工程。 选择创建Application应用。…...
Android车载系统Car模块架构链路分析
一、模块主要成员 CarServiceHelperService SystemServer 中专门为 AAOS 设立的系统服务,用来管理车机的核心服务 CarService。该系统服务的具体实现在 CarServiceHelperServiceUpdatableImpl CarService Car模块核心服务APP,Android 13版本开始分为…...
C语言经典算法之顺序查找算法
目录 前言 A.建议 B.简介 一 代码实现 二 算法时空复杂度 A.时间复杂度: B.空间复杂度: 三 优点和缺点 A.优点: B.缺点: 四 现实中的应用 前言 A.建议 1.学习算法最重要的是理解算法的每一步,而不是记住算…...
c语言嵌套循环
c语言嵌套循环 c语言嵌套循环 c语言嵌套循环一、c语言嵌套循环格式二、嵌套循环案例九九惩罚口诀 一、c语言嵌套循环格式 for(初始值;表达式;表达式) {for(初始值;表达式;表达式){代码} }int main() {for (…...
磁盘位置不可用怎么修复?
磁盘位置不可用是计算机使用中经常遇到的问题。造成磁盘位置不可用的原因有多种,其中最常见的是磁盘文件系统损坏。当文件系统损坏时,操作系统无法正常访问磁盘上的数据,导致磁盘位置不可用。 磁盘位置不可用怎么修复? 当磁盘位置…...
【总结】Linux命令中文帮助手册
1. 为什么要总结Linux命令中文帮助手册 Linux 官方并不提供中文的 help、man 帮助手册。网络上已有的前人翻译过的中文手册版本比较老,且翻译存在误差。从记忆角度来看,Linux 很多命令都不一定记得住详细的用法,易遗忘,缺少经验总…...
[贪心算法] 国王游戏
题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n 位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大…...
meter报OOM错误,如何解决?
根据在之前的压测过程碰到的问题,今天稍微总结总结,以后方便自己查找。 一、单台Mac进行压测时候,压测客户端Jmeter启动超过2000个线程,Jmeter报OOM错误,如何解决? 解答:单台Mac配置内存为8G&…...
第二百六十九回
文章目录 概念介绍设置方法示例代码内容总结 我们在上一章回中介绍了Card Widget相关的内容,本章回中将介绍国际化设置.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在这里说的国际化设置是指在App设置相关操作,这样可以让不同国家的…...
未来能源转型之路:2023年第十三届中国国际储能大会启示录
在2023年第十三届中国国际储能大会上,全球各地的能源专家、学者和企业代表齐聚一堂,共同探讨了储能技术在推动能源转型中的重要作用。对于我们普通人来说,从这场大会中可以学到什么呢? 一、储能技术是未来能源发展的关键 随着可再…...
rviz可视化机械臂(python)
一、准备的东西 一个机械臂的urdf 规划的路径点 二、launch文件的撰写 1.初始化 <?xml version"1.0" encoding"utf-8"?> <launch><param name"robot_description" textfile"机械臂.urdf" /><node name&qu…...
《设计模式的艺术》笔记 - 享元模式
介绍 享元模式运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式ÿ…...
ubuntu系统(10):使用samba共享linux主机中文件
目录 一、samba安装步骤 1、Linux主机端操作 (1)安装sabma (2)修改samba配置文件 (3)为user_name用户设置samba访问的密码 (4)重启samba服务 2、Windows端 二、使用 1、代码…...
别再用鼠标了!树莓派新手必学的20个命令行操作,5分钟上手
别再用鼠标了!树莓派新手必学的20个命令行操作,5分钟上手 第一次打开树莓派的终端时,那个闪烁的光标是不是让你想起了90年代的黑客电影?别担心,命令行不是程序员的专属工具。就像学骑自行车前总要拆掉辅助轮࿰…...
为什么你的“丝绸”总像锡纸?Midjourney材质语义断层诊断:87%用户忽略的材质动词前置语法(drape, crumple, refract)
更多请点击: https://intelliparadigm.com 第一章:材质语义断层的本质:从物理光学到提示词编码的跨模态失配 材质在真实世界中由微观结构、折射率、表面粗糙度、各向异性散射等物理属性共同定义,其视觉表现依赖于光与物质的连续相…...
在骁龙 X2 Elite 上安装 Hermes Agent(1): 硬件规格和安装准备
系列导读 为什么 骁龙Snapdragon X2 Elite 是 Hermes Agent 的最佳搭档?本文是《在骁龙 X2 Elite 上安装 Hermes Agent》系列的第一篇。你将了解 骁龙 X2 Elite 的强大硬件规格、Hermes Agent 的核心能力,以及安装前的准备工作。 一、为什么选择骁龙 X2 …...
Multiverse 引擎3.0:大屏、移动、AR三端覆盖,AR交互功能详解
在Multiverse 3.0版本中,我们首次实现了移动端、大屏端与AR端的全覆盖。基于“一模双擎”架构,用户在Web端可视化编辑器(支持“拖、拉、拽”搭建场景)中创建的数字孪生场景,可在像素流中直接加载,自动适配到…...
从零实现一个电商图片下载器:技术方案与核心代码
引言如果你想自己开发一款电商图片下载工具,本文提供完整的技术方案和核心代码参考。一、技术选型组件推荐方案备选方案浏览器内核CEFElectron下载库libcurlrequests界面框架QtElectron跨平台CEF QtElectron二、核心代码实现2.1 浏览器初始化cppCefRefPtr<CefBr…...
解锁SD-PPP:将AI绘画能力无缝融入Photoshop工作流
解锁SD-PPP:将AI绘画能力无缝融入Photoshop工作流 【免费下载链接】sd-ppp A Photoshop AI plugin 项目地址: https://gitcode.com/gh_mirrors/sd/sd-ppp 你是否曾经在Photoshop中创作时,突然需要一个AI生成的元素来完善设计,却不得不…...
Word文档怎么导出为图片?Word如何高效转换图片?2026实测转换方法
在日常工作中,我们经常需要将Word文档转换为图片格式。无论是为了方便分享、创建演示内容,还是为了保护文档格式,将Word导出为图片都是一个常见的需求。本文将详细介绍Word文档导出为图片的多种方法,帮助你根据不同场景选择最适合…...
深入解析TRC-20代币:从技术原理到生态布局,一篇文章讲透
深入解析TRC-20代币:从技术原理到生态布局,一篇文章讲透 引言 在波场(TRON)生态中,TRC-20 代币标准扮演着至关重要的角色,它不仅是承载如USDT等巨量稳定币的基石,更是连接DeFi、GameFi和NFT等…...
告别SU冲突!雷电模拟器9.0.20+新版Magisk Delta(狐狸面具)保姆级安装避坑指南
雷电模拟器9.0.20Magisk Delta深度适配指南:从冲突根源到完美兼容 当你在雷电模拟器9.0.20及以上版本尝试安装Magisk Delta(狐狸面具)时,是否遇到过Root权限反复失效、SU冲突提示不断弹出的困境?这背后隐藏着新版模拟器…...
【AI】关于claude code长会话过程中逐渐遗忘给它提供的标准操作规范问题思考
问题 在使用claude code的时候,我发现,我提供了一系列的操作规范,比如代码编译,容器创建,资源初始化等标准化的操作规范,我让它按照规范执行操作。会话前期,它会严格执行,但是会话长…...
