第六节:Word中对象的层次结构

《VBA之Word应用》(10178982),是我推出第八套教程,教程是专门讲解VBA在Word中的应用,围绕"面向对象编程"讲解,首先让大家认识Word中VBA的对象,以及对象的属性、方法,然后通过实例让大家感受到Word VBA 的妙处。

 这套教程是专门针对WORD VBA 的教程,是VBA中的稀缺资源,我给这套教程分归为中级教程,希望大家在VBA入门后再学习这套教程,这样会更加深入的理解面向对象编程的意义。

本套教程共三册十六章,今日内容为第一章部分:第六节:Word中对象的层次结构

【分享成果,随喜正能量】无论遇到任何逆境,都不要扰乱欢喜的心境,因为忧愁苦恼不但于事无补,反而会使人失坏许多善根。。

第六节Word中对象的层次结构

这是本章的最后一讲,给大家讲解Word中对象的层次结构,这讲的内容对于我们理解"面向对象编程"是十分有益的。在《VBA之Excel应用》中也有过类似的讲解,同样,在Word的结构中再次理解。

1经常被引用的Word对象

在 VBA与Microsoft Word交互时,我们会经常引用 Word中的"对象"。最常见的对象有:

1)Application 对象:是指微软 Word 本身

2) Document 对象:是指Word 文档

3) Range 对象:是指Word文档的一部分

4) Selection 对象:是指选定的范围或光标位置

5) Paragragh对象:是指文档的段落

6)Section 对象:代表所选内容、范围或文档中的一节。

7)Characters 对象:代表所选内容、范围或文档中的字符集合

8) HeaderFooter对象:代表一个单独的页眉或页脚。HeaderFooter对象是 HeadersFooters 的集合成员。HeadersFooters集合包含指定的文档中所有页眉和页脚。

其实,在VBA之Word应用的对象引用过程中,Document对象处于中心位置。如果您要打开文档或创建新文档,就要创建新的Document对象。每个打开或新创建的文档均被添加至 Documents集合。具有焦点的文档称为活动文档,即ActiveDocument。

2  Documents 集合与Document文档

其实,在 Word 中,几乎所有的操作都要调用Document对象或其内容。当您用VBA操作 Word时,Document对象表示一个打开的文档,而且所有的Document对象都是Application 对象的Documents集合的成员。

什么是Documents集合呢?Documents 集合是Word 中当前打开的所有Document对象的集合。

下面我们看一个实例,在这个实例中要判断"示例01.docx"文档是否被打开,如果已经打开则激活这个文档,如果没有被打开,则打开这个文档:

Sub mynzK()

    Dim myDoc As Document

    For Each myDoc In Documents

        If myDoc.Name = "示例01.docx" Then myFind = True: Exit For

    Next

&nbsp;&nbsp;&nbsp;&nbsp;If myFind <> True Then

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documents.Open FileName:=ActiveDocument.Path & "\示例01.docx"

&nbsp;&nbsp;&nbsp;&nbsp;Else

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documents("示例01").Activate

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MsgBox "[示例01]文档已经打开!"

&nbsp;&nbsp;&nbsp;&nbsp;End If

End Sub

代码截图:

在文档已经被打开的状态下执行代码的运行效果:

代码讲解:(略)

其实,在WORD的Document中,字符(Characters)组成单词(Words),单词(Words)组成句子(Sentences),句子(Sentences)组成段落(Paragraphs),等等。因此,每一个Document对象都具有 Characters、Words、Sentences 和 Paragraghs 四个集合。

此外,每个文档具有一个包含一个或多个节的Sections集合,每一个节都有一个包含该节页眉和页脚的 HeadersFooters 集合。这就是Word中需要了解的一些结构,其实和EXCEL中的工作薄、工作表、单元格、行列的称谓相类似。

3区分字符、单词、句子、段落、节

Word文档就是一个巨大的字符流。这种字符流是字符(Characters)、单词(Words)、句子(Sentence)和段落(Paragragh)的集合。所以,文档就是一些字符。每个字符都有一定的作用。某些字符是字母、空格或制表符,另一些字符是段落标记或分页符等等。字符Characters、单词Words、句子Sentences、段落Paragraphs和节Sections的区分如下:

一个文档(Document)是有几个节(Sections)组成,一节有几段(Paragraphs)组成,每段有几句(Sentences)组成,每句又有几个单词(Words)组成,每个单词(Words)有几个字符(Characters)组成。

1)字符Characters组成单词Words,

2)单词Words组成句子Sentences

3)句子Sentences组成段落Paragraphs

4)文档Document是一个包含一个或多个节Sections的集合,每一个节都有一个包含该节页眉和页脚的HeadersFooters集合。

今日内容回向:

&nbsp;&nbsp;1 Word中的对象常用的有哪些?

2Word中文档集合和文档、节、段落、句子、单词、字符是什么样的层次结构?

本讲内容参考程序文件:Doc 001文档.docm

分享成果,随喜正能量

我20多年的VBA实践经验,全部浓缩在下面的各个教程及应用工具中:

相关推荐
The Future is mine18 分钟前
Python计算经纬度两点之间距离
开发语言·python
Enti7c19 分钟前
HTML5和CSS3的一些特性
开发语言·css3
爱吃巧克力的程序媛26 分钟前
在 Qt 创建项目时,Qt Quick Application (Compat) 和 Qt Quick Application
开发语言·qt
独好紫罗兰1 小时前
洛谷题单3-P5719 【深基4.例3】分类平均-python-流程图重构
开发语言·python·算法
篝火悟者1 小时前
自学-C语言-基础-数组、函数、指针、结构体和共同体、文件
c语言·开发语言
genispan2 小时前
QT/C++ 多线程并发下载实践
开发语言·c++·qt
-代号95272 小时前
【JavaScript】十三、事件监听与事件类型
开发语言·javascript·ecmascript
写代码的小王吧2 小时前
【Java可执行命令】(十)JAR文件签名工具 jarsigner:通过数字签名及验证保证代码信任与安全,深入解析 Java的 jarsigner命令~
java·开发语言·网络·安全·web安全·网络安全·jar
小卡皮巴拉3 小时前
【力扣刷题实战】矩阵区域和
开发语言·c++·算法·leetcode·前缀和·矩阵
努力搬砖的咸鱼3 小时前
Qt中的数据解析--XML与JSON处理全攻略
xml·开发语言·qt·json