ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 50063|回复: 101

vba操作文件及文件夹示例,希望对大家有用

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-2-28 15:53 | 显示全部楼层 |阅读模式

利用excel中的vba可以对电脑中的文件及文件夹做一些常用的操作。 包括复制、重命名、删除等,其中一些简单的示例总结如下。 希望对一些经常需要批量处理文件的朋友有所帮助,也希望感兴趣的朋友多多指教!

以下代码建议在on error resume next下测试 1,在D:\下新建文件夹,命名为folder 方法1:MkDir "D:\folder" 方法2:Set abc = CreateObject("Scripting.FileSystemObject") abc.CreateFolder ("D:\folder")

2,新建2个文件命名为a.xls和b.xls Workbooks.Add ActiveWorkbook.SaveAs Filename:="D:\folder\a.xls" ActiveWorkbook.SaveAs Filename:="D:\folder\b.xls"

3,创建新文件夹folder1并把a.xls复制到新文件夹重新命名为c.xls MkDir "D:\folder1" FileCopy "D:\folder\a.xls", "D:\folder1\c.xls"

4,复制folder中所有文件到folder1 Set qqq = CreateObject("Scripting.FileSystemObject") qqq.CopyFolder "D:\folder", "D:\folder1"

5,重命名a.xls为d.xls name "d:\folder1\a.xls" as "d:\folder1\d.xls"

6,判断文件及文件夹是否存在 Set yyy = CreateObject("Scripting.FileSystemObject") If yyy.FolderExists("D:\folder1) = True Then ... If yyy.FileExists("D:\folder1\d.xls) = True Then ...

7,打开folder1中所有文件 Set rrr = CreateObject("Scripting.FileSystemObject") Set r = rrr.GetFolder("d:\folder1") For Each i In r.Files Workbooks.Open Filename:=("d:\folder1\" + i.Name + "") Next

8,删除文件c.xls kill "d:\folder1\c.xls"

9,删除文件夹folder Set aaa = CreateObject("Scripting.FileSystemObject") aaa.DeleteFolder "d:\folder"

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2005-2-28 15:58 | 显示全部楼层

谢谢楼主!绝对是精品。

[em22][em22][em22][em23][em23][em23]

TA的精华主题

TA的得分主题

发表于 2005-2-28 16:03 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2005-2-28 21:06 | 显示全部楼层
好東西,下載收藏研究學習,謝謝樓主無私提供分享 !!!

TA的精华主题

TA的得分主题

发表于 2005-2-28 21:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

谢谢

收藏研究

TA的精华主题

TA的得分主题

发表于 2005-2-28 22:29 | 显示全部楼层
不错,,,也可以调用批处理命令来做所有的这一些

TA的精华主题

TA的得分主题

发表于 2005-2-28 22:40 | 显示全部楼层
为什么我试了那个删文件夹的,他说 错误70,拒绝的权限

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-3-1 08:48 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
以下是引用网事如峰在2005-2-28 22:29:00的发言: 不错,,,也可以调用批处理命令来做所有的这一些

用批处理文件当然是可以的,但是需要新建一个批处理文件,我们旨在用vba解决尽量多的问题

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-3-1 08:51 | 显示全部楼层
以下是引用网事如峰在2005-2-28 22:40:00的发言: 为什么我试了那个删文件夹的,他说 错误70,拒绝的权限
是不是你要删除的那个文件夹是只读的?或者你没有权限更改

TA的精华主题

TA的得分主题

发表于 2005-3-1 10:56 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-23 05:01 , Processed in 0.038100 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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