如何批量释放整个文件夹里的文件 (批量将文件夹内的文件移出)

我们在工作中,一定遇到过需要对批量的excel文件进行同一种操作的情况。如果文件不多,我们当然可以一个一个文件打开,然后修改、保存、关闭。但是,如果有几十个、几百个文件,我们再这样操作就相当的浪费时间了。

写这篇文章就是因为有一个网友前几天问了我一个这样的问题,希望他能够看到这篇文章。

今天我们就来学习一下使用VBA代码来解决这个重复、枯燥的问题的方法。

既然要用到VBA,那我们就需要知道VBA编辑器在哪里。在Excel中,是自带了VBA编辑器的,只是通常情况下,在Excel的工具栏里是看不到的,这需要我们进行一些设置。

调出【开发工具】选项卡

如下图所示,我们依次点击文件--选项--自定义功能区,在“自定义功能区”下勾选“开发工具”选项,然后点击“确定”即可将“开发工具”选项卡显示在工具栏上。

批量把文件改成文件夹名称,批量处理文件夹里的文件

如下图所示,VBA代码编辑器的入口就在“开发工具”选项卡下面。点击“开发工具”选项卡,我们可以看到工具栏的最左边有一个“Visual Basic”按,点击它就可以调出VBA代码编辑器。

批量把文件改成文件夹名称,批量处理文件夹里的文件

VBA代码编辑器如下图:

批量把文件改成文件夹名称,批量处理文件夹里的文件

插入一个模块

在VBA代码编辑器中,虽然不一定要在“模块”里编辑代码,但是我习惯了,所以我们还是插入一个模块吧。

在编辑器左边的“工程”窗口下找与我们打开的Excel文件同名的项目,点击鼠标右键,在弹出的菜单栏里选择“插入”,在弹出的子菜单里点击“模块”,即可在下面插入一个模块。

批量把文件改成文件夹名称,批量处理文件夹里的文件

好了,模块插入成功后,我们“双击”刚才插入的“模块”,就可以在右边的代码编辑区域里编辑VBA代码了。

批量把文件改成文件夹名称,批量处理文件夹里的文件

代码编辑

※ 第一步、获取文件夹里的所有Excel文件的文件名

获取文件夹内所有Excel文件的文件名的代码如下:

Sub dir_file()
 Dim path As String
 
 ’输入文件夹路径
 path = InputBox("请输入文件夹路径:")
 
 ’读取文件名后缀为 .xlsx 的文件的文件名
 filetest = Dir(path & "\" & "*.xlsx")

 If filetest <> "获取文件夹里所有的文件名.xlsm" Then 
 ’把文件名写入表格
 Cells(1, 1) = filetest
 end if
 i = 2
 
 ’循环读取文件夹里的文件名
 Do While filetest <> ""
 filetest = Dir
 
 ’将文件名依次写入本工作簿、本工作表的A列
 If filetest <> "获取文件夹里所有的文件名.xlsm" Then
 Cells(i, 1) = filetest
 i = i + 1
 End If
 Loop
 
’ 在这里插入后续代码
’ 在这里插入后续代码

 
 
 End Sub

※ 第二步、依次打开文件、编辑文件

将下面的代码插入上面的代码里面,就可以实现打开Excel文件并对文件内容进行编辑的功能了。

 ’依次打开文件然后进行操作
 Dim opf As Workbook
 j = 1
 Do While Cells(j, 1) <> ""
 ’从表格中获取文件名
 file_name = Cells(j, 1).Value
 
 ’根据文件名打开文件
 Set opf = Workbooks.Open(path & "\" & file_name)
 
 ’对打开的Excel文件进行编辑
 opf.Worksheets(1).Cells(1, 2) = file_name
 
 
 ’保存文件
 opf.Save
 ’关闭文件
 opf.Close
 
 j = j + 1
 Loop

在上面的这一段代码中,如下图所示的这一段代码就是对打开的Excel文件的具体操作的代码,如果你需要对Excel文件进行其他的操作,你可以录制一段宏代码,然后用这段宏代码替换掉这一段代码就可以了。

批量把文件改成文件夹名称,批量处理文件夹里的文件

调用VBA代码

我们可以通过插入按钮来调用VBA代码。

如下图所示,点击“开发工具”下的“插入”按钮,在弹出的选择列表下的“表单控件”下,选择“按钮(窗体控件)”,然后在下面的表格编辑区里拖动鼠标绘制一个按钮。

在弹出的“指定宏”窗口中,选择你刚刚编辑的VBA代码后点击确定。

好了,现在你点击这个按钮就可以调用刚刚编辑的VBA代码了。

批量把文件改成文件夹名称,批量处理文件夹里的文件

我是Excel大白,非常感谢你能够看完这边文章,也欢迎大家访问我的头条主页。

大家有什么问题可以在下面留言或者私信我。