Workbook_Open与Auto_Open是一样的吗?
发布时间:2023-10-13 06:14:32
Workbook_Open和Auto_Open都能实现在打开工作簿时自动运行自定义代码的功能。Workbook_Open似乎要取代Auto_Open,而Auto_Open的存在似乎只是为了兼容以前的程序。然而,对于Excel开发人员来说,Auto_Open仍然很有用。
对于初学者来说,细致地了解Workbook_Open和Auto_Open,解开对这两个过程的一些疑惑,有助于更好地学习或阅读相关代码,也能够更好地在自已编写的代码中合理使用它们。
Workbook_Open和Auto_Open放置的位置不同
Workbook_Open必须位于ThisWorkbook模块中,而Auto_Open必须放置在标准模块中,如下图所示。
在ThisWorkbook模块中,可以直接在VBE编辑器上方左边的下拉框中选择Workbook,代码框架会自动生成。
在标准模块中,必须手动输入Sub Auto_Open()。
Application.EnableEvents事件的影响
Workbook_Open受Application.EnableEvents事件的影响,而Auto_Open不会。也就是说,当Application.EnableEvents事件设置为False后,Excel不会触发Workbook_Open。因此,如果你担心因Application.EnableEvents事件设置而影响打开工作簿时自动运行自定义的代码,那么可以使用Auto_Open,这样不管Application.EnableEvents事件的状态如何,都能确保用户打开工作簿时执行自定义代码。
注:在打开工作簿的同时按住SHIFT键,会禁用Workbook_Open()和Auto_Open()。
使用代码自动打开工作簿时的影响
如果使用代码自动打开含有Workbook_Open或Auto_Open的工作簿,那么将不会触发Auto_Open代码但会触发Workbook_Open代码。因此,Auto_Open适合于由用户自已打开的工作簿,而不适用于由编写的代码自动打开的工作簿。也就是说,如果您仅想让用户自已打开时执行自定义的代码,那么使用Auto_Open。
如果想要在自动打开工作簿时禁用Workbook_Open,那么可以在打开该工作簿前设置Application.EnableEvents事件为False。
如果想要在自动打开工作簿时运行Auto_Open,那么可以使用Workbook.RunAutoMacros方法。
Workbook_Open和Auto_Open同时存在时的调用顺序
如果某工作簿中同时存在Workbook_Open和Auto_Open,那么将首先调用Workbook_Open。在Workbook_Open和Auto_Open调用完后,再执行customUI_OnLoad()回调程序。即,工作簿打开时的调用顺序:
Workbook_Open
Auto_Open
customUI_OnLoad()


猜你喜欢
- word怎么将编号设置为上标?在word文档中,用户可以将编号设置为上标,更好的区分归类,下面小编就大家分享word设置项目编号左侧编号数字
- 相信有不少用户和小编一样在使用电脑的过程中总会遇到各种各样的问题,其中就比如抑有的用户在电脑待机之后重新唤醒出现白屏的情况,那么哦我们遇到这
- 百度网盘是一款非常不错的存储工具,我们很多东西都可以放在百度网盘里,最近有用户问百度网盘里面的文件怎么打印出来呢?下面小编就为大家带来百度网
- 在日常的工作中,我们经常要对文档的版面进行处理,其中就涉及到需要调整文档页面布局中的纸张方向,如单独对一页或几页设置说其余页面不同的纸张方向
- 在WPS其实拥有许多便捷的操作能够让我们更好的去使用,例如在需要填充数量庞大的数据时我们就可以使用智能填充功能来进行填充,但很多用户都不清楚
- 微软发布了Win10一周年更新14332预览版SDK,该版本包含大量命名空间(namespace)更新和新增内容,涉及14295预览版以来的
- 在日常生活中,我们总是会把BIOS和CMOS认为是一个感念的东西,但其实BIOS和CMOS是有区别的,通俗的说法就是,BIOS指的是软件,C
- excel图片导出的操作应该怎样进行呢?假设一个excel工作表中有上百张图片,如何批量导出到某一文件夹呢?excel图片导出的方法如下介绍
- 据外媒最新消息,微软长期传闻的双屏幕“Centaurus”设备将在今年晚些时候亮相,该公司可能会在2020年第一季度开始出售该设备。据报道,
- 我们一般都会通过点击桌面上的图标来打开软件或程序,但是有用户发现自己的桌面图标全部变成网页图标了,这该怎么办?不要着急,下面我们就来看看详细
- Win7如何打开组策略编辑器?组策略的功能十分强大,电脑管理员可以对其进行禁止运行指定程序、锁定注册表编辑器、阻止访问提示符、禁止修改系统还
- Win10系统下很多用户经常要反复地在前后文件夹来回操作,可以设置从新窗口打开一个文件夹,直接在两个文件夹之间操作,下面将操作步骤与大家分享
- 公司部门、职位、员工姓名详情如图所示: 选中工作表,依次单击“排序和筛选”--“自定义排序” &nb
- 显卡升级对电脑有影响吗?这个问题首先需要知道显卡是什么东西,它是决定电脑画面显示质量的决定性硬件之一,那么升级显卡的话肯定就是会
- win7下怎么获得管理员取得所有权呢?管理员是系统超级管理员或超级用户,意思就是在电脑中不会被受到控制的人。主要用于当常用账号下无法解决问题
- QQ影音是一款由腾讯公司推出的本地播放器软件,它可以支持播放任何格式的视频或者音频软件,并且还可以使用WiFi传输功能将文件传输到我们的手机
- 作为Win10系统快速访问功能的一部分,用户近期在设备中访问的文件夹都会呈现于该项目栏下。不过,需要注意的是,此举尽管给用户再度访问近期使用
- 在Excel中制作的图表除饼图、环形图等之类的没有数值轴,其余的坐标形式的图表都有数值轴。通常制作图表时,系统会自动生成数值轴,但如果系统自
- 悦跑圈是一款专注跑步健身的应用软件,最近很多悦跑圈的跑友们发现别人分享的跑步轨迹是高清的卫星地图,而自己的跑步轨迹显示的却是简易的地图。其实
- 10月31日凌晨,iOS 12.1正式版发布!iOS 12.1正式版本解决了之前iPhone XS和iPhone Xs Max前置自拍时出现