[VBA]类模块

使用类模块可以创建自定义的类,使用此类作为模板创建对象。
类模块包含一系列的属性,方法和事件,用来和其他对象或创建对象的代码交互。

· 属性
  有两类属性,第一类为Public类型的模块级变量,第二类为Property过程。
  · 模块级变量
    例:
    Public ProductId As Long
    使用这种方法定义的属性不能返回数组,定长字符串,常量或用户自定义类型。
  · Property过程
    Property Let:用来设置属性值的过程
    Property Get:用来返回属性值的过程
    Property Set:用来设置对对象引用的过程

声明Property过程的语法:
    [Public | Private] [Static] Property { Get | Let | Set } propertyname [(arguments)] [As type]
        statements
    End Property
    在Property过程声明中所需要的参数为:
      Property Get propname(1, ..., n) As Type
      Property Let propname(1, ..., n, n+1)
      Property Set propname(1, ..., n, n+1)
    在具有相同名称的Property过程中,从第一个到最后一个参数(1, ..., n)都必须共享相同的名称与数据类型。
    其中Property Get过程的数据类型必须与相关的Let及Set声明中的最后(n+1)个参数的类型相同。
    ※在Property Set声明中,最后一个参数的数据类型必须是对象类型或Variant。
    例:
    Property Let Names(intX As Integer, varZ As Variant)
        ' statement here.
    End Property

Property Get Names(intX As Integer) As Variant
        ' statement here.
    End Property

· 方法
  就是一个过程。
  定义为Private的方法只可以在类内部使用。

· 事件
  使用Event语句定义事件。
  [Pubulic] Event eventname [(arglist)]
  事件只能在所声明的模块中产生。
  使用RaiseEvent语句产生事件。
  不能声明带返回值的事件。
  VBA定义了2个特殊的事件,Initialize和Terminate。
  ※在创建对象时使用WithEvents关键字来使用事件。
  ※Class_Initialize事件的代码在类被创建时执行,Class_Terminate事件的代码在类被销毁时执行。

(0)

相关推荐

  • VBA专题10-21:使用VBA操控Excel界面之禁用和启用控件、组和选项卡

    excelperfect 内置控件 通过分别使用enabled属性和getEnabled属性,可以在设计时永久地或者在运行时动态地禁用(和启用)内置控件.被禁用的控件在功能区中显示的是灰色. 例如,下 ...

  • 答案:Excel VBA编程问答33题,继续……

    excelperfect 下面是一些关于控件.事件和类的基础问题的回答,你的答案是不是一样的? 1.控件的Exit事件何时发生? 在控件失去焦点之前. 2.VBA程序如何修改双击间隔? 不能.双击间隔 ...

  • Excel编程周末速成班第22课:使用事件

    主要内容: Excel事件的类别 编写事件处理程序代码 启用和禁用事件 工作簿.工作表和应用程序级事件 如何使用与对象无关的事件 事件是Excel编程的重要组成部分.在第20课中对事件进行过介绍,涉及 ...

  • Excel VBA编程问答33题,继续……

    excelperfect 下面是一些关于控件.事件和类的基础问题,试试看,你能不能回答出来. 1.控件的Exit事件何时发生? 2.VBA程序如何修改双击间隔? 3.是非题:KeyDown事件过程可以 ...

  • VBA类模块初步

    这里简单地介绍VBA中的类模块,使大家能够在应用程序中创建并使用简单的类. 类是对象的"模板".对象可以是任何事物,而类不会做任何事情,也不会占用内存,只有当类成为对象并使用Set ...

  • VBA 类模块理解和使用总结

    目 录 VBA 类模块理解和使用总结 一.类的概念 二.类的定义 三.类详细定义 关于封装 关于多态 关于异常 关于自定义事件 四.结论: VBA 类模块理解和使用总结 一.类的概念 记得有人总结,V ...

  • VBA类模块应用方法介绍,这一点很重要

    VBA中类模块是一个很重要的难点,如果没有深入研究,通常不会涉及到,但是,想要提高编程方面的能力,类模块的应用,必须要学会. 当然了,既然是难点就并不容易学会. 本节介绍一个方法,如何实现单选按钮选择 ...

  • 如何用代码创建类模块,VBA编程进阶学习,千万别错过

    Excel vba编程进入深水阶段,那就对底层的一些代码构建有一定的了解. 类模块就是其重要的一环,可以利用类模块做一些十分有用的事情. 其实在VBA实际应用中,离不开类模块的运用,只有我们并不知道而 ...

  • VBA类之一(初识类)

    第一章 开头篇                                 --认识类 Visual Basic是基于对象的编程(注:本文所有的代码和讨论将都以VB为基础模型,不过我会尽量使用一些 ...

  • Excel VBA 每日一场景 多个模块如何调用以及参数在模块中的传递

    多个模块如何调用以及参数在模块中的传递 点击上方"Excel和VBA",选择"置顶公众号" 致力于原创分享Excel的相关知识,源码,源文件打包提供 一起学习, ...

  • Python Web开发哪些模块好用?这几类必知!

    关于Python Web开发和图形用户界面的模块有哪些?今天小编通过这篇文章为大家整理了一些常用的模块,我们一起来看看吧. Web开发: 1. Requests:Python内置模块(urllib和u ...

  • 【VBA】【增强版】【收藏备用】遍历文件夹内所有文件模块V5

    2018-12-03 12:34:30 平淡如茶 码龄6年 N次修改了,此模块应该比较健壮吧,特点: 1.可遍历目录下所有文件 2.可筛选文件类型,可限定文件名关键词 3.遍历目录(文件夹)允许存在小 ...

  • VBA 编写类

    一.初识类 现在,请打开你的VBE,主菜单-插入-类模块. 插入了一个类模块,也就建立了一个类.类模块的名字就是类的名字.你现在看到的,她的名字叫"类1",这是VBA按她姐妹排行给 ...