Word教程:一键导入Word表格数据

哈喽,各位小伙伴们好久不见,不知有没有想我呢?
又到了一年一度的环保数据收集汇总时间了,最近我在忙着把收上来的几千份word文件中某个表格的数据汇总到Excel中,以做进一步分析!所以最近特别特别的忙啊~~
每个Word文件格式都是完全一样的,我所需提取的数据都在第一个表中,每个文件中数据量是不同的,最多的可能是5条,最少的有1条。首先来看一下数据结构图T01

左边的红字数字是我手工标注的行号,没错,这个截图中只有6行,前面2行有部分合并单元格(示例文件也只有6行,实际工作中行数不固定)。
要获取的数据分别是表格中的第2,3,4,8,9列,当然为了后面的分析,还得保留文件名,所需要的结果如图T02

当程序获取数据产生了错误时,会将错误原因记录到G列,G列为空,则说明没有问题!
如果就10几个文件,手工处理也挺快的,要是有几十上百个,那就太伤神了~~。
这时候该VBA出场了,VBA在手,天下我有,10分钟后敲好一段代码




这就是我的后手,用它来导入word表格的数据到Excel,先拿3个文件做测试,看一下效果图T03。

三个文件,4条数据,花了1.125秒,核对了一下,结果是正确的,只是时间有点不正常,经过分析发现,主要慢在 Set wdApp = CreateObject(“Word.Application”) 上,创建Word程序有点费时间,不管它了,只是多1秒少1秒的事儿,接下来就复制粘贴几十个文件做测试!
复制粘贴一共96个文件后,获取完数据所需时间图T04

96个文件仅用时16秒,这速度太神速了(偷着乐中)离1千个文件差得还远,继续复制粘贴,一共生成384个文件后再来看运行时间图T05

384个文件也仅用了87.7秒,1千个文件大概也只需要不到5分钟就能处理完了。如果老板知道我“坑”了他,不知道他会不会扣我工资!
接下来讲解一下代码思路,代码中使用Dir函数来依次查找并返回指定路径fPath中word文件名,一次只会返回一个文件名,
Do 循环辅助Dir函数,让它把指定路径中所有Word文件名都返回出来。
每返回一个文件名,就打开它 Set wdDoc = wdApp.Documents.Open(fPath & fName),
然后再读取它表1 Set wdTab = wdDoc.tables(1) 中的数据 ,
因为数据都是从第三行开始的,总行数不固定,所以循环代码是这样的 For xRow = 3 To wdTab.Rows.Count ,要返回某个单元格中的数据代码是这样的 wdTab.cell(xRow, 2).Range.Text Cell表示格格子,它有两个参数分别对应(行,列) 这一点 Excel的Cells一样,但它和Excel中的Cells的区别也很大,Excel的Cells中两个参数都是可选的,而Word表格中的Cell两个参数都是必需的,
数据一条条拿出来放到数组oArr中,一直到所有文件的都读取完了,最后再写入Excel的工作表中,这样能更为节省代码运行时间。
以最后的512条数据为列,每一条数据6列,如果直接写入单元格,那就需要往单元格中写512*6=3072次,而我只是最后1次才写入单元格(这是区域一次性赋值的优势,写入数据越多,优势越明显)
建议优先APP学习,支持课程缓存,有更好的学习体验
★常见问题★
①小爱同学:买了vip所有课程都能看是吗?
恩,是的,包括以后更新的(感谢支持,我们会坚持高品质的教学更新)
②小爱同学:你好,怎么样学习?
关注爱知趣教育服务号,可以在菜单导航直接进官网学习,也可以进小程序和下载APP!
电脑登录进https://www.92zhiqu.com
(手机,电脑学习必不可少)
③小爱同学:学习不懂的怎么办
提供售后解答的,支付了联系客服加群(支付了联系微信客服,截图一下即可)
④小爱同学:提供视频的课件素材?
恩,原创高清视频的,这些都有提供的(原创教程,这些是最基础的要求)
⑤小爱同学:学习有效期?
有年会员和终身的,终身会员不限时间
(自建网站成立2016年+原创教程+爱知趣品牌保障)
⑥小学同学:网站支持加速看?
恩。目前手机小程序+APP+电脑PC都支持1.5倍等 加速看或慢放
⑦课程支持离线下载?
恩。安卓和苹果IOS APP都支持手机离线下载,应用商店查找“爱知趣”即可下载
电脑下载统一联系微信客服18074746783提供。
⑧问课程质量怎么样?
爱知趣教育原创教程,高质量视频为起点,高清配字幕,支持试听!
如果还有什么需要咨询的,联系微信客服18074746783
长按识别二维码「添加客服」
点击阅读原文一键登录(可试看)
夜雨聆风






