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()
猜你喜欢
- 想要在Word2003中将背景改为自定义图片并修改大小,其实并不困难,只要先为Word文档添加图片背景再将之修改的合适的大小就可以了。那么,
- 我们知道Excel2007的工作表是以行和列相结合的,如果一列中包括数千行,那么要向修改其中的某一行数据,可能大家会想到用鼠标或者是键盘来上
- 文泰刻绘集刻绘、雕刻、海报制作等功能于一体,能够完成用户刻字绘图的全部需要,图形最为其中的基本单位,可以对其进行平移、缩放、旋转、镜像、倾斜
- 在Word文档编辑软件中,我们可以使用【以只读方式打开】Word文档,对文档进行单纯的阅读,并不进行修改,那么具体需要怎么设置打开方式呢?下
- 微软的产品除了Windows之外,最重要的就是Office办公软件了!Office基本上也是大家工作、学习必备的装机软件,编辑文档、做表格、
- 在使用Word时中使用过程中经常会用到一些小技巧,对于很对入门学Word的朋友来说,掌握这些入门Word小技巧很有必要,尤其是文字处理方面以
- 当我们使用win10系统想要升级时,发现系统更新界面的更新按钮呈灰色,根本无法点击。这件事该怎么解决,看小编是怎么说的吧。win101903
- 在写论文、报告或标书时,为了使数据更加直观,文档中会使用大量图片、表格或图表等元素。如果图片、表格或图表太多,为了对它们进行区分,我们会在每
- 在Excel以前的版本中,可以通过“高级筛选”来删除重复记录,在Excle 2007中不但保留了“高级筛选”这个功能,而更为值得注意的是Ex
- 在Word 2007中打开多文档方法小结大家知道,如果想打开多个Word2007文档,可以将所有需要打开的文档选择上,然后单击鼠标右键,选择
- word文档是我们办公室最常用的一个软件,但是有时候在win7系统下打不开Word文件出现错误报告,就会造成我们的信息丢失,针对这一个问题,
- 在多个excel工作表中的数据类别相同但排序的顺序不同的情况下,可以使用excel2016表格中的分类合并计算的方法来计算数据,计算出的数据
- 在日常工作中经常会使用Excel表格,有时需要寻找表格中重复的数据并作标色,如何查找出重复的数据呢?请往下看哦Excel中怎么查找相同数据并
- Win10烟雾头要怎么调?cf游戏玩家应该对烟雾头比较了解,通过烟雾头我们可以更清晰的看清敌人所在的位置。但是很多用户不知道怎么调节才是最好
- 有很多用户遇到win10不能打开设置,右键个性化,文件没有相关程序执行操作,请安装程序,或者,如果安装程序,请在默认程序控制面板上创建关闭,
- 我们可以为word图表设置背景格式效果,在设置图表背景时用户需要区分二维图表和三维图表类型,因为在设置二维图表和三维图表背景时是不同的,二维
- 在之前,我们已经一贯想法认为,使用Word来编辑文档,使用Excel来处理数据生成数据图表。然而,在Word2007中,我们也完全可以制作数
- 大家在用Word文档插入页眉时总会有不想要的横线出现,那么我们怎么去掉它呢?下面小编就为大家介绍word如何快速去除添加页眉下划线方法,一起
- Excel表格怎么制作创意的柱形图?excel表格中想要制作一个各部门销量对比的柱形图,一眼看上去比较清楚,该怎么制作呢?下面我们就来看看详
- 最近有很多小伙伴表示Win10专业版系统麦克风插上的时候电流声特点大,根本不能戴上麦克风,那么这个问题该如何解决呢?其实不难,我们继续往下看