日常工作中经常会整理文件到指定的文件夹,少的时候用鼠标拖拖,多了就很麻烦了,这种枯燥的重复性工作可以交给电脑批量处理,现在就分享一个方法。
如下图所示,在这个文件夹中,有各种类型的文件,我想把所有名称为1的文件,无论是什么类型,统一放到文件夹1里,把所有名称是2的文件放到文件夹2里,以此类推,一共有1-5个文件夹。
第一步:首先新增一个excel工作簿,打开后,鼠标放在工作表名上,点击鼠标右键,查看代码,会进入VBA的编辑界面。
第二步:把代码粘贴进去。(复制下面的代码,从sub test()一直复制到End Sub)
Sub test()
Dim ss$, n%, fd, t$
Range("a2:d60000").Clear '先清空
Set fd = Application.FileDialog(msoFileDialogFolderPicker) '运行用户选择一个文件夹
If fd.Show = -1 Then
t = fd.SelectedItems(1) '记录这个文件夹名称
Else
Exit Sub '否则就退出程序
End If
[a1] = "命令"
[b1] = "文件名称"
[c1] = "目标文件夹"
ss = Dir(t & "")
Do
n = n + 1
Cells(n + 1, 1) = "move"
Cells(n + 1, 2) = ss
ss = Dir
Loop Until ss = ""
With Sheet1
.Cells.HorizontalAlignment = xlCenter
.[a1].CurrentRegion.Borders.Weight = xlThin
.Cells.EntireColumn.AutoFit '调整宽
End With
MsgBox "快学Excel提示您,查询完毕"
End Sub
这个代码是获取文件夹下所有文件名称的。达到这个效果还有其他的办法,但是我之所以用excelVBA是为了把文件名直接写入到excel中,因为实际工作中,文件名称比我这个例子要复杂得多,比如根据文件名中某个字符来确定这个文件是归类到哪个文件夹,这时候excel的函数或其它功能就能快速搞定这个事情。代码粘贴进去之后关闭VBA编辑界面。
第三步:在开发工具的插入这里,插入一个控件。
如果你的excel没有开发工具,可以点击文件——选项——自定义功能区——勾选开发工具——点击确认即可。
把控件的名称可以改一下,也可以用默认的名称,这都无所谓。
选中这个控件,鼠标右键,点击指定宏。
选择宏,这个sheet1 test就是上面粘贴进去的代码名称,然后点确定。
插入控件是为了方便运行代码,如果不用控件,打开VBA编辑界面vba打开指定excel文件,点击上面的绿色小三角也可以运行代码。如果你不能运行代码,可能是你的excel没有开启宏,可以点击文件——选项——信任中心——信任中心设置——宏设置——启用所有的宏,然后点击确认。
第四步:点击这个控件就可以运行代码,代码会让你选择一个文件夹vba打开指定excel文件,就选择上面那个放了很多需要整理归类文件所在的文件夹。
一瞬间,这个文件夹下所有的文件名就被写入到excel工作表当中。这个代码只能获取到这个文件夹第一层的所有文件名,子文件夹里面文件名不能获取到。
这时候可以用筛选包号1的文件名
然后在目标文件夹这里写入1,表明把这些名称为1的各类型文件放入到文件夹1里去。
第五步:整理完后,从第二行开始向下复制,把所有的内容复制出来。
然后在这个文件夹中新增一个txt文件,也就是新增文本文档,然后把这些内容粘贴进去,如下图所示。(批量处理命令move的意思是,拿第一行举例,把1.accdb这个文件放入到1这个文件夹里)
点击文件,点击另存为,保存路径还是选择这个文件夹,这里的目的主要是确定一下,下图红框处这里是否是ANSI,如果不是,请选择ANSI。
然后把后缀名.txt改成.bat(注意只是改txt,前面有一个“点”,不要删掉了)
改了后缀名会有提示,点“是”就可以了
然后双击这个文件
这个时候所有的文件就分类好了
打开3这个文件夹,这里就全是叫3的文件。
打开4这个文件夹,这里就全是叫4的文件。
好了,文件归类就完成了。
本文由快学excel原创,如有雷同,算我抄你。
关注快学excel收获更多excel实用干货。
———END———
限 时 特 惠:本站每日持续更新海量各大内部创业教程,一年会员只需128元,全站资源免费下载点击查看详情
站 长 微 信:jiumai99
2.本站所有项目来源于投稿或购买自其他第三方,若本站侵犯了您的权益请 联系站长 进行删除处理。