VBS脚本搞定,快速批量提取一堆Excel文件中的数据

文章讲述了小王在处理大量Excel文件数据时面临的困难,通过使用VBS脚本语言,朋友八两编写了一个脚本,实现从上千个Excel文件中自动提取特定单元格的数据,解决了手动操作的难题,但强调了数据安全的重要性。
摘要由CSDN通过智能技术生成

1.需求诞生

小王就职于一家国有大型企业,工作业务十分繁忙,在处理企业某业务数据时,需要从上千个Excel文件中提取某一单元格位置的数据,并整理到另一个Excel文件。要说是这样的Excel文件仅有几个或者十几个也还好,手动点开复制粘贴并不是难事。

但是面对一下子上千个的文件,要靠人工操作恐怕是非常不现实的,小王顿感到十分地为难。好在,他这时候想到了自己的好朋友“八两”。八两听完了小王的介绍,知道这样的需求肯定是可以软件实现的,于是对小王说,你把文件发给我吧,我下班回家后写代码帮你提取数据。可是小王却说,这些文件涉及到企业核心经营数据,实在不方便提供。于是问题暂时陷入了僵局。

2.实现思路

小王不懂代码,更不会编写软件,无法提供Excel文件肯定是不方便调试的,所以凭空写一个应用程序发给小王,万一遇到软件有Bug的地方也不便于调试。好在还有一种编程语言叫做脚本语言,比如说VBS,VBS的脚本程序扩展名即为.vbs,使用记事本文件可以直接编写,保存后还可以双击直接在Windows系统上运行,遇到异常的话,远程指导小王修改其中的脚本代码也相对容易。于是八两决定使用记事本来完成这样一件任务。

3.核心代码

废话不多说,直接贴出全部脚本代码。

' 定义文件夹路径
Dim folderPath
folderPath = "D:\YourFolderPath\"
' 定义目标 Excel 文件路径
Dim targetExcelPath
targetExcelPath = "D:\YourTargetExcel.xlsx"
' 打开文件夹
Set folder = CreateObject("Scripting.FileSystemObject").GetFolder(folderPath)
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True ' 设置Excel可见
Set targetWorkbook = objExcel.Workbooks.Open(targetExcelPath)
Set targetWorksheet = targetWorkbook.Worksheets(1)
' 遍历文件夹中的 Excel 文件
dim row,col
' row,col是定义写入位置的初始位置,行和列号
row=1
col=1
For Each file In folder.Files
	If LCase(Right(file.Name, 4)) = ".xls" Or LCase(Right(file.Name, 5)) = ".xlsx" Then
		' 打开 Excel 文件
		Set workbook = objExcel.Workbooks.Open(file.Path)
		' 选择要提取数据的工作表
		Set worksheet = workbook.Worksheets(1)
		' 提取相同位置的数据
		Dim dataToExtract
        ' 这句的1,1是指读取文件中要读取数据的 位置是第1行第1列。
		dataToExtract = worksheet.Cells(1, 1).Value
		' 将数据写入目标表格
		targetWorksheet.Cells(row, col) = dataToExtract
		row=row+1
		' 关闭打开的 Excel 文件
		workbook.Close
	End If
Next
' 显示完成消息
MsgBox "数据提取完成!"

注意,这里的代码用记事本保存时,编码一定要选择为ANSI,如果保存为UTF-8或者其他编码格式,运行是会报错的。保存时,保存类型选择为“所有文件(*.*)”,文件名为“提取数据.vbs”即可。

4.完整文件

普通脚本文件而已,大家复制保存后,修改运行即可,就不上传单独的文件了。

  • 11
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

八两

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值