当前位置: 首页 > article >正文

VBA06-组件

一、组件的定义

在VBA(Visual Basic for Applications)中,代码通常是在不同的组件中编写的,这些组件包括模块(Modules)、工作表对象(Sheet Objects)和ThisWorkbook对象(代表当前工作簿的特定代码区域)。

每个组件都有其特定的用途和适用场景。

二、组件介绍

2-1、模块

  • 模块是VBA中最常用的代码编写区域。
  • 你可以在模块中编写通用过程(Sub)和函数(Function),这些代码可以被工作簿中的任何工作表或其他模块调用。
  • 模块非常适合存放那些不特定于某个工作表的代码。

2-2、工作表对象(Sheet Objects)

  • 每个Excel工作表都有一个与之关联的工作表对象,你可以在这个对象的事件和代码区域中编写代码。
  • 工作表对象中的代码通常用于处理特定于该工作表的事件(如单元格更改、选择变化等)和逻辑。
  • 例如,你可以在Sheet1的代码区域中编写一个过程,当某个单元格的值改变时自动执行一些操作。
  • 工作表对象中的代码通常通过Sheet1Sheet2等名称访问(假设这些名称是默认或未更改的)。

2-3、ThisWorkbook对象

  • ThisWorkbook代表包含VBA代码的工作簿本身。
  • 你可以在ThisWorkbook的代码区域中编写与工作簿级别相关的事件和代码,如打开工作簿时执行的操作、关闭工作簿前的保存检查等。
  • ThisWorkbook中的代码特别适用于那些需要在整个工作簿范围内执行的操作,如检查工作簿中所有工作表的某些条件。
  • 与ActiveWorkbook不同,ActiveWorkbook代表当前活动的工作簿(可能是用户正在查看的任何工作簿),而ThisWorkbook始终指向包含代码的那个工作簿。

 

2-4、类模块

类模块是用于编写自定义类的代码模块。类模块是实现面向对象编程(OOP)的关键组成部分,允许开发者创建具有特定属性和方法的自定义对象。

有点类似于java的类。

类的实例化

  • 类本身并不占用内存,只有当创建类的实例(对象)时,才会在内存中分配空间。
  • 在VBA代码中,可以使用Dim语句创建类的实例,使用new关键字,并通过实例访问类的属性和方法。
Sub TestCar()
    Dim myCar As New Car ' 创建Car对象的实例
    myCar.Brand = "Toyota" ' 设置汽车品牌
    myCar.Color = "Red" ' 设置汽车颜色
    myCar.PrintInfo ' 输出车辆信息
End Sub

 

三、小结

  • 模块适合存放通用代码;
  • 工作表对象适合存放特定于某个工作表的代码,多用于检查
  • ThisWorkbook适合存放与工作簿级别相关的事件和代码。

http://www.kler.cn/a/381935.html

相关文章:

  • pytest高版本兼容test_data[“log“] = _handle_ansi(“\n“.join(logs))错误
  • 【dvwa靶场:XSS系列】XSS (Stored)低-中-高级别,通关啦
  • 初识数据结构(什么是数据结构、算法,数据结构的重要性,算法的重要性)
  • 软件测试基础九 (python基础)
  • webpack的常见配置
  • 尚庭公寓-小程序接口
  • 开车去内蒙古旅游要做什么准备?
  • rabbitMq双节点高可用集群安装(亲测可用)
  • 数据分析反馈:提升决策质量的关键指南
  • RabbitMQ应用问题
  • Scala的属性访问权限(一)默认访问权限
  • 前端文件下载方式
  • Linux下Redis的安装与使用
  • C 学习(5)
  • VMware虚拟机可以被外部机器访问吗?
  • D59【python 接口自动化学习】- python基础之异常
  • 硬件基础06 滤波器——无源、有源(含Filter Solutions、Filter Pro、MATLAB Fdatool)
  • spring—boot(整合redis)
  • CSS【二】与盒子模型
  • zabbix 7.0 安装(服务器、前端、代理等)
  • 了解数据库的ACID特性
  • CI/CD 的概念
  • 大华乐橙设备私有平台EasyCVR视频设备轨迹回放平台支持哪些摄像机?摄像机如何选型?
  • flink实战-- flink任务的火焰图如何使用
  • IT设备告警预测:运维团队的新导向
  • MySQL45讲 第十三讲 为什么表数据删掉一半,表文件大小不变?