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

相关推荐
isyangli_blog4 小时前
OpenDayLight (Carbon 版本) 启动与组件安装
开发语言·php
vb2008114 小时前
FastAPI APIRouter
开发语言·python
Benszen4 小时前
KVM虚拟化解决方案
开发语言·perl
会编程的土豆4 小时前
Go 语言反射(Reflection)详解
开发语言·后端·golang
東雪木4 小时前
多线程与并发编程 专属复习笔记
java·开发语言·笔记·java面试
杨充5 小时前
1.3 浮点型数据设计灵魂
开发语言·python·算法
噜噜噜阿鲁~5 小时前
python学习笔记 | 11.3、面向对象高级编程-多重继承
java·开发语言
basketball6165 小时前
Go 语言从入门到进阶:4. 数组和MAP使用方法总结
开发语言·后端·golang
春生野草5 小时前
反射、Tomcat执行
java·开发语言
雪的季节6 小时前
企业级 Qt 全功能项目
开发语言·数据库·qt