前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VBA专题06-1:利用Excel中的数据自动化构建Word文档—了解Word对象模型

VBA专题06-1:利用Excel中的数据自动化构建Word文档—了解Word对象模型

作者头像
fanjy
发布2019-10-09 14:48:40
3K0
发布2019-10-09 14:48:40
举报
文章被收录于专栏:完美Excel

前言:将Excel与Word合理地整合交互,往往能够获得很好的效果,极大地提高办公自动化效率。例如,将数据存放在Excel工作表中,Word文档按需自动化提取其中的特定数据;或者使用Excel来分析数据,然后以Word文档来呈现分析结果,等等。本专题先讲解了Word对象模型中常用的对象,让大家先熟悉VBA是如何操控Word文档的,有了一定的Word VBA基础知识后,再通过详细的示例演示Excel与Word交互的技术。

了解Word对象模型

与Excel一样,我们使用VBA来调用Word对象模型中的对象及其属性、方法和事件,从而实现对Word的控制。Word对象模型似乎有点复杂,涵盖了整个Word应用程序、文档、文档内的段落、段落内的句子、句子中的词语、词语内的字符、表格内的单元格……等等。其中一些常用的对象如下图1所示。

图1:一些常用的Word对象

Application对象

代表Word应用程序本身。

Document对象

代表Word文档,类似于Excel工作簿对象。

Paragraphs对象

代表文档的段落。

Sentences对象

代表句子。

Words对象

代表单词。

Characters对象

代表字符。

Selection对象

代表文档中所选择的内容。

Bookmarks对象

代表文档中的书签。

Range对象

代表文档中一个由起始点和中止点所确定的连续区域。

Sections对象

代表节。

Fonts对象

代表字体。

Templates对象

代表Word文档模板。

下图2展示了Word文档中的一些常用对象。

图2:文档文本对应的常用对象示例

以上图2中所选择的段落为例,使用VBA代码来对其进行分析。

下面的代码分析上图2所选文字区域的段落和句子:

'分析所选文字区域的段落和句子

Dim str As String

Dim rng As Range

Dim i As Long

str = "所选区域的段落数:"& _

Selection.Paragraphs.Count & _

vbCrLf & vbCrLf & _

"所选区域的句子数:" & _

Selection.Sentences.Count & _

vbCrLf & _

"句子分别是:" & vbCrLf

For i = 1 To Selection.Sentences.Count

str = str & "第" & i& "句" & ": "

str = str & Selection.Sentences.Item(i)

str = str & vbCrLf

Next i

MsgBox str

结果如下图3所示。

图3:上图1所选文本中段落和句子的分析结果

可以看出,Word VBA是以“。”或“.”为分隔符来拆分出句子的。

下面的代码分析上图2所选文字区域的词语和字符:

'分析所选文字区域的词语和字符

Dim str As String

Dim rng As Range

Dim i As Long

str = "所选区域的词语数:"& _

Selection.Words.Count & _

vbCrLf & vbCrLf & _

"所选区域的字符数:" & _

Selection.Characters.Count & _

vbCrLf & vbCrLf & _

"其中的词语分别是:" & vbCrLf

i = 0

For Each rng In Selection.Words

str = str & rng.Text

str = str & vbTab

i = i + 1

'每行8个词

If (i Mod 8) = 0 Then

str = str & vbCrLf

End If

Next rng

MsgBox str

结果如下图4所示。

图4:上图1所选文本中词和字符的分析结果

可以看出,Word VBA将符号作为一个词。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云代码分析
腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,支撑团队传承代码文化。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档