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

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.mrgr.cn/news/67095.html

相关文章:

  • 开源的flash浏览器 CelfFlashBrowser
  • pinctrl语法
  • 内网项目,maven本地仓库离线打包,解决Cannot access central in offline mode?
  • MySQL中的行转列和列转行操作
  • Thrift
  • Golang | Leetcode Golang题解之第541题反转字符串II
  • ThreadLocal从入门到精通
  • RPM Fusion 软件仓库简介
  • Java第十一天(实训学习整理资料(十)Java IO流)
  • Bridge(桥接)
  • 【北京迅为】《STM32MP157开发板嵌入式开发指南》-第七十七章 交叉编译QT工程
  • 架构评估的方法
  • 【PyTorch][chapter31][transformer-5] MQA,CQA, GQA
  • 7.2 设计模式
  • 零基础‘自外网到内网’渗透过程详细记录(cc123靶场)——下
  • java_继承
  • Oracle 第26章:Oracle Data Guard
  • 11.6 校内模拟赛总结
  • Halcon打开多个窗口,指定窗口显示指定内容
  • ISUP协议视频平台EasyCVR私有化视频平台录像机(Ehome或ISUP 5.0)不在线如何排查原因?
  • 【022A】基于51单片机音乐盒
  • python代码实现datax、sqoop功能,用spark将hive数据导入导出到mysql
  • 期权懂|期权卖方亏损无限盈利有限,如何破解亏损无限呢?
  • 高效率的快捷回复软件 —— 客服宝聊天助手
  • BootStrap复选框多选,页面初始化选中处理
  • 昇思大模型平台打卡体验活动:基于MindSpore实现GPT1影评分类