VBA对象模型(1)
关于对象和集合的比喻
Excel的基本单元是Workbook对象;在快餐连锁店中,基本的单元是单个餐馆。使用Excel可以添加工作簿和关闭工作簿,所有打开的工作簿组成了Workbooks集合(Workbook对象的集合)。快餐连锁店的经营者可以增加餐馆和关闭餐馆,可以将连锁店中的所有餐馆视为”餐馆”集合(“餐馆”对象的集合)。
一个Excel工作簿就是一个对象,但是它还包含有其它的对象,比如工作表对象、图表对象、VBA模块等。而且,工作簿中的每个对象可以包含它自已的对象,例如,一个Worksheet对象可以包含Range对象、PivotTable对象、Shape对象等。
一个餐馆(就象一个工作簿一样)是一个对象,它包含有其它的对象,比如”厨房”对象、”饭厅”对象、”餐桌”对象等。所有单个的这些对象组成了它们各自的集合,例如,餐馆中的所有餐桌组成了”餐桌”集合。经营者可以向“餐馆”对象中增加或从中去除对象,例如,经营者可以向“餐桌”集合中增加更多的餐桌。而且,餐馆中的每一种对象又都可以包含其它的对象,例如,“厨房”对象包含“火炉”对象、“排气扇”对象、“厨师”对象、“水池”对象等。
关于对象的属性和方法的比喻
Excel对象都有属性。例如,Range对象包括Value属性和Name属性,而Shape对象包括Width属性和Height属性等。与此类比,连锁店中的对象也有属性。例如,“火炉”对象包含诸如“温度”和“炉灶数目”这样的属性。“排气扇”对象也有它自已的一套属性(例如“转向”、“每分钟的转数”等)。
除了属性之外,Excel的对象还有方法,使用方法对对象执行某项操作。例如,ClearContents方法将清除Range对象的内容。连锁店中的对象也有方法,可以很容易想象,为“火炉”对象提供“调温器”方法,或者为“排气扇”对象提供“开/关”方法。
使用Excel的时候,方法有时候会改变对象的属性。ClearContents方法可以更改Range对象的Value属性。同样,“火炉”对象上的“调温器”方法将影响它的“温度”属性。
使用VBA可以编写过程来处理Excel对象。在连锁店中,经营者可以下命令处理餐馆中的对象(例如,打开火炉,将排气扇开到最快)。
VBA对象模型(1)的更多相关文章
- VBA对象模型(2)
Excel对象模型简介 在介绍Excel对象模型之前,让我们先来看一个简单的例子.大多数工厂都是按这样的结构进行设置的:最上层为工厂总部,第二层次分为各个车间,在车间下面又分各班组.就这样组织在一起, ...
- VBA对象模型
https://www.processon.com/view/link/5d974da6e4b07a0a4d4a098a
- VB 在Visio 2010 以编程方式创建子进程图
在2010年Visio以编程方式创建子进程图 Office 2010 https://msdn.microsoft.com/en-us/library/gg650651.aspx 简介: 学习如 ...
- Excel催化剂开源第51波-Excel催化剂遍历单元格操作性能保障
在Excel催化剂推出的这一年多时间里,经常性听到一种声音,大概意思是真正会写代码的人,都不会看上Excel催化剂写出来的功能,自己造一个更舒服贴心,仿佛会一点VBA就可以天下无敌一般,也好像Exce ...
- 个人永久性免费-Excel催化剂功能第33波-报表形式数据结构转标准数据源
一般来说,如果有标准的数据源结构,对后续的分析工作将会带来极大的方便.但现实中,许多的原始数据并不预期那样,一个主题的数据已经干净地存放在一个工作表中.今天Excel催化剂再次送上批量化操作,将不规则 ...
- 在VBA中使用Windows API
VBA是一种强大的编程语言,可用于自定义Microsoft Office解决方案.通过使用VBA处理一个或多个Office应用程序对象模型,可以容易地修改Office应用程序的功能或者能够使两个或多个 ...
- 浅谈Excel开发:三 Excel 对象模型
前一篇文章介绍了Excel中的菜单系统,在创建完菜单和工具栏之后,就要着手进行功能的开发了.不论您采用何种方式来开发Excel应用程序,了解Excel对象模型尤其重要,这些对象是您与Excel进行交互 ...
- MicroStation VBA 可视化界面
第十章 可视界面 Private Sub UserForm_Initialize() Dim ViewCen As Point3d Dim MyView As View For Each MyView ...
- 使用Win32::OLE操作Excel——Excel对象模型
像VBA操作Excel一样,Win32::OLE模块也是通过对象操作来控制Excel. 如果想自动化操作和控制Excel应用程序,则必须要与Excel对象模型所提供的对象进行交互.理解和熟悉Excel ...
随机推荐
- 通过NuGet获取sqlite对应的.net的dll
https://www.nuget.org/packages/System.Data.SQLite/ 直接在Package Manager Console中执行命令,会自动安装依赖项的 Install ...
- [POJ1222]EXTENDED LIGHTS OUT(高斯消元,异或方程组)
题目链接:http://poj.org/problem?id=1222 题意:开关是四连通的,每按一个就会翻转自己以及附近的四个格(假如有).问需要翻转几个,使他们都变成关. 把每一个灯看作一个未知量 ...
- [51NOD1230]幸运数(数位DP)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1230 dp(l,s,ss)表示长度为l的数各位和为s,各位平方 ...
- Oracle数据库名、实例名、数据库域名、数据库服务名、全局数据库名的辨析
我也是看着各位大婶的博客然后一点点的来学习,不求全会,留个印象 数据库名 数据库名就是一个数据库的标识,用参数DB_NAME表示. 如果一台机器上安装了多个数据库,那么每一个数据库都有一个数据库名. ...
- CUBRID学习笔记 38 net调用java的函数过程
首先要设置java_stored_procedure 为yes 该配置项在cubrid.conf中 书写并编译java代码 public class SpCubrid{ public st ...
- python_way ,day23 API
python_way ,day23 1.api认证 .api加密动态请求 2.自定义session 一.api认证 首先提供api的公司,如支付宝,微信,都会给你一个用户id,然后还会让你下一个SD ...
- placeholder在ie浏览器里不显示的问题解决
<script type="text/javascript"> if( !('placeholder' in document.createElement('input ...
- 在CSS中,BOX的Padding属性的数值赋予顺序为
4种可能的情况,举例说明: padding:10px; // 四个内边距都是10px padding:5px 10px; // 上下5px 左右10px padding:5px 10px 15px; ...
- Yii 如何渲染另一控制器中的视图。
(Yii)使用renderPartial调用另外一个控制器的视图 我们可以使用renderPartial访问存储在不同控制器的视图文件夹中的部分视图文件. 在Yii1.1.3中,我们使用双斜线“//” ...
- <<易货>>项目Postmortem结果
设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 一开始想做的事情还是太多,没有形成整个app的核心功能,浪费了很多时间. 是否有充足的时间来做计划? 有 ...