在EXCEL中用VBA怎样操作WORD文档中嵌入的EXCEL表格?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在EXCEL中用VBA怎样操作WORD文档中嵌入的EXCEL表格?相关的知识,希望对你有一定的参考价值。

在EXCEL中用VBA打开一个WORD文档,里面嵌入了多个格式完全相同、没有合并单元格的EXCEL表格。
⑴内嵌EXCEL表格说明:
第1行是标题行,第二行及以下是数据记录,表格中没有合并单元格。各个表格数据行数不等。
⑵要求达到的目的:
①把WORD文档中嵌入的多个EXCEL表格数据汇总到当前操作的EXCEL工作表中。
②工作表第1行是标题行,后续各行是汇总的数据记录,都要求通过代码自动写入。
⑶VBA操作处理要求:
①不直接引用Microsoft Word 11.0 Object Library,采取后期绑定_ Set wApp = CreateObject("word.application")创建word对象方式。
②采取后台处理,以最快速读取所有嵌入的EXCEL表格数据到当前工作表。
③版本为WORD2003和EXCEL2003。
④关键代码请用中文详细解释。
恭请高手援手,给出完整的执行代码!
谢谢
呵呵,谢谢各位朋友的关注,问题已经解决!

参考技术A 我的理解是将word中的表格都Copy到excel中的指定位置,对吧?
这个功能不难实现,关键是知主为什么要提出“VBA操作处理要求”中的①进行限制?追问

呵呵,想在后期绑定的前提下进行探讨WORD文档中嵌入式表格数据的读取方法!
恭请指教,不胜感激!

追答

能否上传代码供我们学习一下,感激不尽!

Word VBA 的主要对象体系结构是怎样的?编辑中常用对象都有哪些?

Word VBA 中的对象库比较庞大,建议使用时通过联机的开发人员帮助文档来获取相关对象的体系结构(对象、成员、属性、方法):

Application、document、word、range、Row对象是常用的对象

参考技术A 对象是
Visual
Basic
的结构基础,在
Visual
Basic
中进行的所有操作几乎都与修改对象有关。Microsoft
Word
的任何元素,如文档、表格、段落、书签、域等,都可用
Visual
Basic
中的对象来表示。

什么是对象和集合?

对象代表一个
Word
元素,如文档、段落、书签或单独的字符。集合也是一个对象,该对象包含多个其他对象,通常这些对象属于相同的类型;例如,一个集合对象中可包含文档中的所有书签对象。通过使用属性和方法,可以修改单独的的对象,也可修改整个的对象集合。

什么是属性?

属性是对象的一种特性或该对象行为的一个方面。例如,文档属性包含其名称、内容、保存状态以及是否启用修订。若要更改一个对象的特征,可以修改其属性值。

若要设置属性的值,可在对象的后面紧接一个句号、属性名称、一个等号及新的属性值。下列示例在名为“MyDoc.doc”的文档中启用修订。

Sub
TrackChanges()

Documents("Sales.doc").TrackRevisions
=
True
End
Sub
在本示例中,Documents
引用由打开的文档构成的集合,而“MyDoc.doc”标识集合中单独的文档。并设置该文档的TrackRevisions属性。

不能设置某些属性。属性的“帮助”主题中会标明可以设置该属性(可读写),或只能读取该属性(只读)。

通过返回对象的一个属性值,可以获取有关该对象的信息。下列示例返回活动文档的名称。

Sub
GetDocumentName()

Dim
strDocName
As
String

strDocName
=
ActiveDocument.Name

MsgBox
strDocName
End
Sub
在本示例中,ActiveDocument
引用
Word
活动窗口中的文档。该文档的名称赋给了strDocName
变量。

说明

每个属性的“帮助”主题表明可以设置该属性(可读写),只能读取该属性(只读),或只能写入该属性(只写)。此外“Visual
Basic
编辑器”中的“对象浏览器”在浏览窗口的底部显示所选属性的读写状态。
参考技术B 常用对象的是table,range,还有bookmark对象

以上是关于在EXCEL中用VBA怎样操作WORD文档中嵌入的EXCEL表格?的主要内容,如果未能解决你的问题,请参考以下文章

Excel VBA操作word文件

怎样在Word中用VBA操作表格

用VBA直接在WORD中能正常运行的方法或属性相关常量设置,在EXCEL中处理WORD文档时都有哪些变化?

如何用EXCEL的VBA控制WORD文档?

Excel VBA 宏后期绑定

如何用VBA将EXCEL中的若干的数据导入不同的word文档