点击蓝字 关注我
立即添加星标
每天学好教程
类模块(Class Module)和标准模块(Standard Module)都是用来组织和包含代码的结构,但它们之间有一些关键的区别。
在VBA中,类模块(Class Module)和标准模块(Standard Module)都是用来组织和包含代码的结构,但它们之间有一些关键的区别:
标准模块(Standard Module)
定义位置:标准模块是全局性的,存在于工作簿级别。
作用域:在标准模块中声明的变量和过程默认是公用的(Public),这意味着它们可以被工作簿中的任何其他VBA代码访问。
变量生命周期:在标准模块中声明的变量生命周期通常是整个模块运行期间,即它们在模块运行开始时存在,在模块运行结束时消失。
用途:通常用于存放通用子程序和函数,这些子程序和函数不特定于任何对象或类。
类模块(Class Module)
定义位置:类模块通常与特定的对象或自定义对象相关联。
作用域:在类模块中声明的变量和过程默认是私有的(Private),只能被同一类模块中的其他过程访问。
变量生命周期:类模块中的变量通常与类的实例(对象)的生命周期相同,即当创建一个类的实例时,它的变量才会存在,当对象被销毁时,变量也随之消失。
用途:用于定义对象的属性和方法。类模块允许用户创建自定义对象,可以拥有自己的属性和方法,就像VBA内置对象一样。
主要区别
封装性:类模块提供了封装性,可以将属性和方法捆绑在一起,而标准模块通常只包含过程。
实例化:类模块需要实例化,即创建对象之后才能使用,而标准模块中的代码是直接调用的,不需要实例化。
代码组织:类模块更适用于面向对象的编程,而标准模块则更适合面向过程的编程。
识别二维码
关注视频号
Excel
加油站
加入社群
长按
关注
立即添加星标
每天学好教程