ExcelVBA 批量获取Word文档中的表格

网友提问:

网友就是要通过ExcelVBA把Word文档中的表格获取。

有问题一定要讲清楚,比如下面这位网友的问题

这就好像,我考完试,错了一道题,我不说题目是什么,不说题目要求做什么,我只对你说老师给我判错了一道题,为什么?

一、先用一个表分析

我在C盘孙兴华文件夹里放了两个文件,先看  “一个表格.docx” 这个文件

我们将这个文档里面的表格,复制到一个Excel中,按网友要求使用ExcelVBA完成

我们在WordVBA中讲过怎么打开Excel对象,那在Excel中使用打开Word对象就没难度了

把 Excel这个单词改成Word

我们又讲了怎么遍历Word文档中的所有表格,怎么拷贝每一个表格

因为暂时只有一张表格,我们不用遍历 ,先拷贝试一下

打开一个空白Excel,打开VBE编辑器

可能Excel2003\2007\2010\2013\WPS等版本不会出现下面的问题(我只是说可能,您要自己测试)但是,office365会出现这个问题。拷贝过来的不是表,而是一个Word对象。

我们双击这个对象,发现表格在里面藏着呢。这时就别再想着把表拿出来了。否则会陷入一个循环,从前有座山,山里有座庙….

这时要思考,为什么我们手工的从Word中选中表格Ctrl+C,到Excel中Ctrl+V就可以呢?

我们打开ExcelVBA录宏,然后在Word中复制这张表(选中表,Ctrl+C)

再到Excel中,在任意单元格中右键,点下面的按钮

结束宏的录制,查看录制代码

把这个代码放到我们的代码中,清空Sheet1里面的全部内容,运行代码

这样就成功了。

方便大家拷贝代码:

二、批量获取一个文档中的多个表格

我们换第二个文件,“多个表格.docx”

方便大家拷贝代码如下:

友情提示:当你自己写代码时,如果写代码中间出错,那你打开的Word文档并没有关闭,还活在内存中,需要使用Ctrl+alt+Del 组合键手动结束进程。再检查一下原Word文档是否损坏。99.99%的人在跨软件使用时这里遇到困难。

我们学办公软件是自己动手解决工作中的问题,而不依赖商人,凡是谈项目的都是商人或是想成为商人的人。例如,在聪明乎上有位创作者分享知识

你们看下面的商人是怎么回复的?

厨师做饭都比我们好吃,我们为什么要学做饭?

大家需求不同,如果固定的代码可以满足我们,微软早就开发相应软件了。

资源下载: