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

相关推荐
晓纪同学34 分钟前
QT-简单视觉框架代码
开发语言·qt
威桑35 分钟前
Qt SizePolicy详解:minimum 与 minimumExpanding 的区别
开发语言·qt·扩张策略
飞飞-躺着更舒服38 分钟前
【QT】实现电子飞行显示器(简易版)
开发语言·qt
明月看潮生44 分钟前
青少年编程与数学 02-004 Go语言Web编程 16课题、并发编程
开发语言·青少年编程·并发编程·编程与数学·goweb
明月看潮生1 小时前
青少年编程与数学 02-004 Go语言Web编程 17课题、静态文件
开发语言·青少年编程·编程与数学·goweb
Java Fans1 小时前
C# 中串口读取问题及解决方案
开发语言·c#
盛派网络小助手1 小时前
微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
开发语言·人工智能·后端·架构·c#
Chinese Red Guest1 小时前
python
开发语言·python·pygame
一棵星2 小时前
Java模拟Mqtt客户端连接Mqtt Broker
java·开发语言
飞飞-躺着更舒服3 小时前
【QT】实现电子飞行显示器(改进版)
开发语言·qt