VBA之Word应用第三章第十一节:Document对象的事件

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

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

本套教程共三册十六章,今日内容为:VBA之Word应用第三章第十一节:Document对象的事件

分享成果,随喜正能量】196 人生,一站有一站的风景,一岁有一岁的味道,你的年龄应该成为你生命的勋章而不是你伤感的理由。生活嘛,慢慢来,你又不差!。

第三章 文档集合Documents对象及文档Document对象

大家好,我们继续Word VBA的讲解。这讲开始,我们进入非常重要一章的学习,文档集合Documents对象及文档Document对象。在前面的讲解中我们可以大概看出文档和文档集合在Word VBA中的作用,很多的对象都是文档对象属性的返回对象,我们通过这章的学习要掌握Word VBA的基本应用。

第十一节 Document对象的事件

大家好,这节我们讲解Document对象的事件。事件是对象的响应,在讲《VBA之EXCEL应用》的时候,大家一定记得工作簿的若干个事件,这些事件是写在了Thisworkbook模块中,在工作簿打开或者关闭时等等相关动作时发生。在Word中也是如此。事件是写在了文档的模板ThisDocument模板中。这节开始我将就Close事件和Open事件给大家以详细的讲解和介绍。

1 Document.Close事件

该事件在关闭文档时发生。

语法:

Private Sub Document_Close()

'需要做的事情

End Sub

2 Document.Open 事件

该事件在打开文档时发生。

语法:

Private Sub Document_Open()

'需要做的事情

End Sub

3 Document事件的实例

下面将给大家展示一个实例,在这个实例中,我们在打开文件时,将弹出一个对话框,告诉给用户这个文档是第八套教程的一个实例,当我们关闭的时候,会自动保存。我们看下面的代码:

Private Sub Document_Close()

ActiveDocument.Save

End Sub

Private Sub Document_Open()

MsgBox "您将打开一个文档,这个文档是第八套教程《VBA之Word应用》的一个实例!"

End Sub

代码截图:

代码解读:

1)Private Sub Document_Close()

ActiveDocument.Save

End Sub

以上代码在文档关闭时发生,在关闭的时候将执行ActiveDocument.Save,这句代码的意义是保存当前文档。

2)Private Sub Document_Open()

MsgBox "您将打开一个文档,这个文档是第八套教程《VBA之Word应用》的一个实例!"

End Sub

以上代码在文档打开时发生,在打开的时候将执行 MsgBox "您将打开一个文档,这个文档是第八套教程《VBA之Word应用》的一个实例!",这句代码的意义是弹出一个对话框,这个对话框的内容是"您将打开一个文档,这个文档是第八套教程《VBA之Word应用》的一个实例!"

下面我们看代码的执行情况:

1)打开文件:

2:打开后我们输入些字符,然后关闭

我们关闭这个文件后,再次打开(截图略),发现文档已经被保存了。

今日内容回向:

1 文档对象的Close事件的意义是什么?

2 文档对象的Open事件的意义是什么?

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

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

相关推荐
郝学胜-神的一滴1 天前
Qt 入门 01-01:从零基础到商业级客户端实战
开发语言·c++·qt·程序人生·软件构建
测试员周周1 天前
【Appium 系列】第06节-页面对象实现 — LoginPage 实战
开发语言·前端·人工智能·python·功能测试·appium·测试用例
摇滚侠1 天前
@Autowired 和 @Resource 的区别
java·开发语言
Wy_编程1 天前
go语言中的结构体
开发语言·后端·golang
SeaTunnel1 天前
(八)收官篇 | 数据平台最后一公里:数据集成开发设计与上线治理实战
java·大数据·开发语言·白鲸开源
大卡片1 天前
C++的基础知识点
开发语言·c++
郑同学的笔记1 天前
【Qt教程29】Qt5和Qt6版本对比
开发语言·qt
基德爆肝c语言1 天前
Qt 主窗口全家桶:菜单栏、工具栏、状态栏与对话框完全指南
开发语言·qt
XMYX-01 天前
28 - Go JSON 数据操作
开发语言·golang·json
三*一1 天前
Mapbox GL JS 自研面要素整形工具开发实录
开发语言·javascript·arcgis·ecmascript