Workbook事件用于响应对Workbook对象所进行的操作。

【BeforeClose事件】

BforeClose事件用于响应窗口关闭的操作

在工程资源器中,双击“ThisWorkbook”对象,弹出"ThisWorkbook"窗口,并且选择Workbook,BeforeClose

并在窗口中写下如下代码:
【代码区域】

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ThisWorkbook.Saved = False Then
ThisWorkbook.Save
MsgBox "工作簿已经发生变更,已经保存", vbOKOnly, "测试BeforeClose事件"
Cancle = True
End If
End Sub

接着保存即可。保存完毕之后,重新打开Excle,编辑后直接退出。则会出现如下结果

【结果展示】

【BeforeSave事件】

BeforeSave用于响应保存操作,当保存操作发生时,将触发BeforeSave操作

与BeforeClose事件操作一致

【代码区域】

Private Sub workbook_BeforeSave(ByVal saveAsUI As Boolean, cancel As Boolean)
sel = MsgBox("真的要保存对工作簿的修改吗?", vbYesNo, "测试BeforeSave事件")
If sel = vbNo Then
cancel = True
End If
End Sub

【结果展示】

【WindowsActivate事件】

WindowsActivate事件用于保存响应激活窗口的操作,当激活窗口时,首先执行此函数内部的代码,然后执行激活窗口的后续操作

【代码区域】

Private Sub workbook_windowsActivate(ByVal wn As Window)
MsgBox "欢迎使用Excle 2013电子表格处理程序", vbOKOnly, "测试windowsActivate事件"
End Sub
Private Sub workbook_windowresize(ByVal wn As Window)
MsgBox "你已经调整了Excle 2013应用程序的窗口大小", vbOKOnly, "测试windowsActivate事件"
End Sub

如下调整窗口大小时:

【效果展示】

【VBA编程】13.Workbook对象的事件的更多相关文章

  1. Egret --视觉编程,显示对象,事件

    1,在egret中,视觉图形都是由显示对象和显示对象容器组成的: 显示对象:准确的说,就是在舞台上显示出来的,包括能真实看见的图形,文字,图片,视频等:也包括不能看见但真实存在的显示对象容器: 一:显 ...

  2. 【VBA编程】11.Application对象

    Application对象常用属性[ActiveCell属性]ActiveCell属性返回一个Range对象,表示当前窗口或指定窗口中的单元格.如果窗口没显示工作表,则此属性无效.[代码区域] Sub ...

  3. vba编程基础2

    安装office2010的时候, 最好是 完全安装/完整安装 , 这样可以查阅 excel的 "帮助文档" 帮助文档中包含了更多的/更详细的 参考信息. 普通模块无事件, 只有 子 ...

  4. VBA编程的工程性规划

    看过很多人写的VBA代码,一团一团的,一点规划都没有,为了VBA编程更具工程性,这里讨论一下,并列出自己的一些建议:0.给VBA工程定义一个名字,而非直接使用默认的名称——"VBAProje ...

  5. 6 Workbook 对象

    6.1 在奔跑之前先学会走路:打开和关闭工作薄 代码清单6.1:一个完整的工作薄批处理框架 '代码清单6.1:一个完整的工作薄批处理框架 Sub ProcessFileBatch() Dim nInd ...

  6. VBA编程常用词汇英汉对照表

    表 20‑1到表 20‑8是VBA编程中使用频率最高的英文单词,按字母排序.词性列中,a表示形容词,n表示名词,v表示动词,p表示介词以及其他词性. 表 20‑1 VBA编程常用词汇表 单词 中文 词 ...

  7. 电子表格控件Spreadsheet 对象方法事件详细介绍

    1.ActiveCell:返回代表活动单元格的Range只读对象.2.ActiveSheet:返回代表活动工作表的WorkSheet只读对象.3.ActiveWindow:返回表示当前窗口的Windo ...

  8. 【温故而知新-万花筒】C# 异步编程 逆变 协变 委托 事件 事件参数 迭代 线程、多线程、线程池、后台线程

    额基本脱离了2.0 3.5的时代了.在.net 4.0+ 时代.一切都是辣么简单! 参考文档: http://www.cnblogs.com/linzheng/archive/2012/04/11/2 ...

  9. vba编程基础1

    在主要的编程语言中, 结构体是用大括号来表示 代码段的 范围 界定的. 但是在一些比较"老的"语言中,由于历史原因, 还是使用的 是: 关键字来进行界定代码 的 结构段, 如vba ...

随机推荐

  1. 计蒜客NOIP2018模拟1

    https://www.jisuanke.com/contest/1152 T1:最失败的一道题,其实就是道水题,好几种写法,一种都没想出来. 题意转化后就是:每个数可以选a[i]和a[i]-k,最后 ...

  2. [Lydsy1806月赛] 路径统计

    题面在这里! xjb想的做法竟然不小心把std艹爆了qwq,我也很无奈啊.... 那接下来就说一下我的神奇做法qwq 如果是经常读我博客的童鞋会发现其实我以前就想要做这个题啦,只不过当时读错题啦... ...

  3. vue的开发环境搭建命令加图解

    vue的开发环境的搭建 不管什么软件我们都要去官网下载安装,这是作为专业程序员的安全意识. 1.安装node.js 官方下载的页面:点击这里 大约展示的页面是这样子的!我们演示是windows 64位 ...

  4. 分页器与form表单

    分页器 分页器对象 from django.core.paginator import Paginator Paginator对象: paginator = Paginator(user_list, ...

  5. POJ 3422 Kaka's Matrix Travels(费用流)

    Kaka's Matrix Travels Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6792   Accepted:  ...

  6. 最好的拖拽js

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 【JSTL】<c:if test=“”>没有else的解决方法

    后台封装了一个对象 放在model里: model.addAttribute("notice", notice); notice是个对象 然后前台如果没有公告的话,希望显示暂无公告 ...

  8. 玩转Google开源C++单元测试框架Google Test系列(gtest)(转)

    转自:http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html 前段时间学习和了解了下Google的开源C++单元测试框架Googl ...

  9. xss编码小结

    一.JS编码与HTML编码区分: HTML实体可以使用十进制与十六进制编码:javascript可以使用Unicode与八进制与十六进制进行编码. 二.编码原理区分: 三.编码与非编码 对于JS编码: ...

  10. 基于 Scrapy-redis 的分布式爬虫详细设计

    基于 Scrapy-redis 的分布式爬虫设计   目录 前言 安装 环境 Debian / Ubuntu / Deepin 下安装 Windows 下安装 基本使用 初始化项目 创建爬虫 运行爬虫 ...