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 ...
随机推荐
- Linux 性能监测:介绍
看了某某教程.读了某某手册,按照要求改改某某设置.系统设定.内核参数就认为做到系统优化的想法很傻很天真:)系统优化是一项复杂.繁琐.长期的 工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采 ...
- eclipse 恢复SVN无法还原的文件 svn使用了还原,但本地的没有提交找回没提交代码的方法
http://blog.sina.com.cn/s/blog_750167060102vd2n.html
- Datatypes In SQLite Version 3
http://www.sqlite.org/datatype3.html http://stackoverflow.com/questions/7337882/what-is-the-differen ...
- CurlSharp
https://github.com/masroore/CurlSharp clone版本库之后,在本地使用,会遇到找不到dll的情况 编译EasyGet项目之后,进行调试,会提示 System.Ba ...
- Android——学习:线性布局权重分配
LinearLayout在Android中被广泛使用,LinearLayout有一个比较重要的属性——android:layout_weight.按照字面理解就是该控件的权重,这个值默认是 零(0). ...
- kafka单节点部署无法访问问题解决
场景:在笔记本安装了一台虚拟机, 在本地的虚拟机上部署了一个kafka服务: 写了一个测试程序,在笔记本上运行测试程序,访问虚拟机上的kafka,报如下异常: 2015-01-15 09:33:26 ...
- mysql概要(十四)索引
1.索引是对数据库数据建立目录加快了查询速度.索引分为哈希索引和二叉树索引 (大数据量转移,如果表中带有大量字段索引,进行数据导入时,建议先去掉索引导入数据再统一加入索引,减少索引计算量) 2.索引原 ...
- 初学CDQ分治-NEU1702
关于CDQ分治,首先需要明白分治的复杂度. T(n) = 2T(n/2)+O(kn), T(n) = O(knlogn) T(n) = 2T(n/2)+O(knlogn), T(n) = O(knlo ...
- mysql 并发控制
1.多个线程同时修改数据,存在数据不一致的情况,也就是并发控制的问题.2.mysql提供读锁和写锁,读锁之上可以再加读锁,不能加写锁,而写锁之上不能加任何锁.也就是说,读锁是共享的,写锁是排他的.3. ...
- 微信开发时遇到的UrlConnection乱码的问题
昨天做一个微信的模板消息推送的功能,功能倒是很快写完了,我本地测试微信收到的推送消息是正常的,但是一部署到服务器后微信收到的推送消息就变成乱码了. 为了找到原因,做了很多测试,查了一下午百度,最后得出 ...