vba中代码写在 this document,用户窗体,标准模块三者的区别?

如题所述

标准模块,一般有两种。一种是作用于所有文档,它会保存于模板文档里,编辑一次再使用该模板创建新文档时,该模块里定义的变量、函数可以重复使用,它的作用域是所有以该模板创建的文档。另一种是作用于当前文档,它只对当前文档有效,在该文档里所有的地方都要以调用模块里定义的变量或函数。若在其它文档里使用,你需要重新编写或者粘贴过去。在模块里你可以定义Public变量或者函数供其它两个环境使用。

This document,在这里你既可以定义用户函数也可以修改事件代码,实现在工作薄或表格及单元格等对象动作时的自动触发,这是其它两个模块都无法实现的。比如,你可以修改sheetchange事件,在某一单元格内容发生改变时修改其它相应内容;也可以修改autoopen事件,在工作薄文档打开时,自动生成如工具栏一样的命令按钮,方便执行宏命令等等。该环境下的变量和函数都是私有的。

用户窗体,一般用来补充数据使用。假如要实现类似查询功能,条件是不固定的,这时候你就需要使用用户窗体,让用户修改查询条件,然后再调用相应函数。
也有人用它来作为登陆界面放在autoopen里调用,以防止无关人员查询文档内容。

用户窗体内的数据等也是私有的,需要传递内相应变量或者赋值给模块里定义的变量才能在其它模块里使用。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-09
模块公用,其他两个私有
相似回答