第六节: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实践经验,全部浓缩在下面的各个教程及应用工具中:

相关推荐
blammmp7 分钟前
Java:数据结构-枚举
java·开发语言·数据结构
何曾参静谧19 分钟前
「C/C++」C/C++ 指针篇 之 指针运算
c语言·开发语言·c++
暗黑起源喵25 分钟前
设计模式-工厂设计模式
java·开发语言·设计模式
WaaTong30 分钟前
Java反射
java·开发语言·反射
Troc_wangpeng31 分钟前
R language 关于二维平面直角坐标系的制作
开发语言·机器学习
努力的家伙是不讨厌的33 分钟前
解析json导出csv或者直接入库
开发语言·python·json
Envyᥫᩣ1 小时前
C#语言:从入门到精通
开发语言·c#
童先生1 小时前
Go 项目中实现类似 Java Shiro 的权限控制中间件?
开发语言·go
lulu_gh_yu1 小时前
数据结构之排序补充
c语言·开发语言·数据结构·c++·学习·算法·排序算法
Re.不晚2 小时前
Java入门15——抽象类
java·开发语言·学习·算法·intellij-idea