Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 10897|回复: 18

[已解决]VBA批量移动文件

[复制链接]
发表于 2014-4-2 22:01 | 显示全部楼层 |阅读模式
我有150excel文件,文件名为:文件名1,文件名2……150,名称无规律
现在要让这些文件放到F9月工程文件夹里,对应的文件夹名
能给个VBV程序不?
还有我另有150个文件名均为上述文件前加材料表文件名1,材料表文件名2,材料表文件名3,………150,也要放到同样的文件夹里
怎么搞
最佳答案
2014-4-2 23:04
  1. Sub 移动文件()
  2.     Dim MyPath1 As String, MyPath2 As String, MyName As String, MyName2 As String
  3.     MyPath1 = "E:\A"  '指定原始文件所在文件夹
  4.     MyPath2 = "F:\9月工程"    '指定文件新文件夹,需要事先创建该文件夹
  5.     MyName1 = Dir(MyPath1 & "*.xls*")     ' 找寻第一项。
  6.     Do While MyName1 <> ""      ' 开始循环。
  7.         Name MyPath1 & MyName1 As MyPath2 & MyName1   '移动文件
  8.         MyName1 = Dir    ' 查找下一个目录。
  9.     Loop
  10. End Sub
  11. Sub 移动文件并重命名()
  12.     MyPath1 = "E:\A"  '指定原始文件所在文件夹
  13.     MyPath2 = "F:\9月工程"    '指定文件新文件夹,需要事先创建该文件夹
  14.     MyName1 = Dir(MyPath1 & "*.xls*")     ' 找寻第一项。
  15.     Do While MyName1 <> ""      ' 开始循环。
  16.         MyName2 = "材料表" & MyName1
  17.         Name MyPath1 & MyName1 As MyPath2 & MyName2    '移动文件并重新命名
  18.         MyName1 = Dir    ' 查找下一个目录。
  19.     Loop
  20. End Sub
复制代码
发表于 2014-4-2 22:12 | 显示全部楼层
本帖最后由 我心飞翔410 于 2014-4-2 22:38 编辑

遍历文件夹  filecopy方法 ??
来点附件测试么
回复

使用道具 举报

 楼主| 发表于 2014-4-2 22:39 | 显示全部楼层
回复

使用道具 举报

发表于 2014-4-2 22:42 | 显示全部楼层
我心飞翔410 发表于 2014-4-2 22:12
遍历文件夹  filecopy方法 ??
来点附件测试么

翔哥  求入门
回复

使用道具 举报

 楼主| 发表于 2014-4-2 22:57 | 显示全部楼层
上传了,你试一下啊

文件.zip

16.62 KB, 下载次数: 8

回复

使用道具 举报

发表于 2014-4-2 23:04 | 显示全部楼层    本楼为最佳答案   
  1. Sub 移动文件()
  2.     Dim MyPath1 As String, MyPath2 As String, MyName As String, MyName2 As String
  3.     MyPath1 = "E:\A"  '指定原始文件所在文件夹
  4.     MyPath2 = "F:\9月工程"    '指定文件新文件夹,需要事先创建该文件夹
  5.     MyName1 = Dir(MyPath1 & "*.xls*")     ' 找寻第一项。
  6.     Do While MyName1 <> ""      ' 开始循环。
  7.         Name MyPath1 & MyName1 As MyPath2 & MyName1   '移动文件
  8.         MyName1 = Dir    ' 查找下一个目录。
  9.     Loop
  10. End Sub
  11. Sub 移动文件并重命名()
  12.     MyPath1 = "E:\A"  '指定原始文件所在文件夹
  13.     MyPath2 = "F:\9月工程"    '指定文件新文件夹,需要事先创建该文件夹
  14.     MyName1 = Dir(MyPath1 & "*.xls*")     ' 找寻第一项。
  15.     Do While MyName1 <> ""      ' 开始循环。
  16.         MyName2 = "材料表" & MyName1
  17.         Name MyPath1 & MyName1 As MyPath2 & MyName2    '移动文件并重新命名
  18.         MyName1 = Dir    ' 查找下一个目录。
  19.     Loop
  20. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2014-4-2 23:09 | 显示全部楼层
神人,谢谢
回复

使用道具 举报

 楼主| 发表于 2014-4-2 23:14 | 显示全部楼层
那么的帅 发表于 2014-4-2 23:04

非常感谢
回复

使用道具 举报

 楼主| 发表于 2014-4-2 23:41 | 显示全部楼层
那么的帅 发表于 2014-4-2 23:04

1.我9月工程这个文件夹里还有文件夹啊,但文件夹的名称与文件的名称一样的;
2.我另150个文件不要改文件名(他文件名为材料表+刚才文件的名),同样是移到9月工程文件夹下对应的文件夹啊,注意是夹,不是9月工程这个文件夹,是他下面的文件夹
回复

使用道具 举报

发表于 2014-4-2 23:55 | 显示全部楼层
ccgqc 发表于 2014-4-2 23:41
1.我9月工程这个文件夹里还有文件夹啊,但文件夹的名称与文件的名称一样的;
2.我另150个文件不要改文件 ...

MyPath2 = "F:\9月工程\"
这句是指定新文件夹,根据实际文件夹 修改
比如 MyPath2 = "F:\9月工程\A\"
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-20 00:03 , Processed in 1.154889 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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