ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: wangyuhui7

[求助] 怎么能遍历所有文件夹,包括,二级三级子文件夹

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-5-13 17:17 | 显示全部楼层
搜一下遍历文件夹,论坛里很多例子。

TA的精华主题

TA的得分主题

发表于 2022-5-13 18:04 | 显示全部楼层
就稍微整合一下代码有那么难吗
来源:https://club.excelhome.net/forum ... 866&pid=7947108
  1. Sub 按钮1_Click()
  2.     Application.ScreenUpdating = False
  3.     Getfd (ThisWorkbook.Path) 'ThisWorkbook.Path是当前代码文件所在路径,路径名可以根据需求修改
  4.     Application.ScreenUpdating = True
  5. End Sub
  6. Sub Getfd(ByVal pth)
  7.     Set Fso = CreateObject("scripting.filesystemobject")
  8.     Set ff = Fso.getfolder(pth)
  9.     For Each f In ff.Files
  10.         If InStr(f.Name, ThisWorkbook.Name) = 0 Then
  11.             With Workbooks.Open(f)
  12.                 For Each sh In .Sheets
  13.                     sh.DrawingObjects.Delete
  14.                 Next sh
  15.                 .Save
  16.                 .Close True
  17.             End With
  18.         End If
  19.     Next f
  20.     For Each fd In ff.subfolders
  21.         Getfd (fd)
  22.     Next fd
  23. End Sub
复制代码



评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-5-13 19:48 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
chenjy267 发表于 2022-5-13 18:04
就稍微整合一下代码有那么难吗
来源:https://club.excelhome.net/forum.php?mod=redirect&goto=findpost& ...

感谢!!!
再请教下  word中VBA遍历目录子文件也是一个方法吗?下面代码是word中.doc文件批量转.docx, 还是想让子目录中的.doc文件一次性转换,这个怎么加遍历代码,感谢感谢!

Sub doc2docx()
Dim myDialog As FileDialog, oFile As Variant
Set myDialog = Application.FileDialog(msoFileDialogFilePicker)
With myDialog
.Filters.Clear
.Filters.Add "所有 WORD97-2003 文件", "*.doc", 1
.AllowMultiSelect = True
If .Show = -1 Then
For Each oFile In .SelectedItems
With Documents.Open(oFile)
.ComputeStatistics (wdStatisticPages)
.SaveAs FileName:=oFile + "x", FileFormat:=wdFormatXMLDocument
.Close
End With
Next
End If
End With
End Sub

TA的精华主题

TA的得分主题

发表于 2022-5-14 10:30 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2022-5-14 12:16 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2022-5-14 21:09 | 显示全部楼层
cjc209 发表于 2022-5-13 16:25
Dim arr(), ii As Long

Sub 递归文件(文件夹路径)

请教一下老师,这里的
And Left(f.Name, 2) <> "~$"
是什么意思?~$代表什么?
谢谢!

TA的精华主题

TA的得分主题

发表于 2022-5-15 09:23 | 显示全部楼层
APPLE123 发表于 2022-5-14 21:09
请教一下老师,这里的
And Left(f.Name, 2)  "~$"
是什么意思?~$代表什么?

~$是一个符号键盘,在电脑上都是指临时文件。它的产生只要是用户打开WORD文档后,会在生成一个以$~开头的临时文件,正常情况下关闭word后系统会自动删除这个文件。

Word会创建临时文件是因为没有足够的可用内存来保存文档及其所有编辑,并且在某些其他应用程序运行的同时仍在快速执行一些操作,则 Word 会将未被使用的部分代码或未被编辑的部分文档从内存移到磁盘中。将临时文件移到磁盘的这种做法可释放更多的内存。

临时文件是为暂时存储信息而创建的文件,这样可以释放内存以用于其他目的,或者在程序执行某些功能时充当安全网络以防止数据丢失。
   excel也如此
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-25 03:26 , Processed in 0.037668 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表