浅谈Excel开发(三) Excel 对象模型

前一篇文章介绍了Excel中的菜单系统,在创建完菜单和工具栏之后,就要着手进行功能的开发了。不论您采用何种方式来开发Excel应用程序,了解Excel对象模型尤其重要,这些对象是您与Excel进行交互的基石。据不完全统计,Excel的对象模型中有270多个对象及超过5000多个属性和方法。通过这些对象及方法,您可以充分利用Excel来定制化您的插件。

Excel的所有对象,事件,方法和属性在这里不可能全部介绍完。本文简要介绍一下Excel的整体文档对象模型,以及一些比较重要的,平常开发中需要频繁接触到的对象,属性,事件及方法,如Application,Range对象等,使您对Excel的整个结构有一个简单的了解。后面在编程中遇到问题了,您可以快速定位知道需要设置或者调用哪个对象及其方法,然后根据关键字到Google或者MSDN上方便查找。本文大部分内容参照MSDN上的这篇文章Understanding the Excel Object Model from a .NET Developer's Perspective 如果您对英文没有问题,建议您直接去MSDN看原文。

一 Excel 对象模型简介

在与Excel进行交互之前,了解Excel对象模型的整体结构非常重要,这使得我们对Excel有一种更整体全面的了解。下图是Excel的对象模型的整个层级结构。

根据这个图,我们打开一个Excel,可以有一种非常直观形象的了解。

图中可以看到,Excel对象模型基本模拟了UI界面:

一个Excel应用程序就是一个Application,全局的对象比如菜单,工具条都属于Application对象。

相关文章:

浅谈Excel开发(1) Excel开发概述:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/net/201312/39219.htm

一个Application可以包含很多个Workbook(Workbooks)。具体而言就是,我们可以同时打开很多个工作簿(Workbooks),但某一时候只有一个工作簿(Workbook)处于编辑状态,这个工作簿叫做活动工作簿(ActiveWorkbook);

一个Workbook可以包含很多个Worksheet(Worksheets)。具体而言就是,一个工作簿可以包含很多工作表(Worksheets),某一时刻只有一个工作表(Worksheet)处于编辑状态,这个工作表称之为活动工作表(ActiveWorksheet)。

一个Workbook还可以包含很多Shapes对象。工作表中还可以包含一些图表,标记,注释,控件等,这些都是浮在Sheet页上的,这些统称为Shapes,其中我们接触的最多的是图表(Charts)。

一个WorkSheet可以包含很多个Range对象。具体而言,一个工作表里面有很多个单元格,单元格范围用Range表示,Range可以使一个单元格,也可以使多个单元格。单元格都是嵌入到Sheet页中的。

时间: 2025-01-27 01:34:47

浅谈Excel开发(三) Excel 对象模型的相关文章

浅谈PHP开发团队的管理之道

说明:本文节选自<浅谈PHP开发团队管理及程序员做人问题>.全文请点击这里访问. 看了标题,也许很多程序员会反感的说:"程序员的做人问题先不用谈,你想出来这个标题,那你做人是不是有问题吧!" 笔者本人并不反驳这样的说法,每个人都有自己的做人原则.法国人的那句俗话说的好:"我不苟同你的思想,但是我绝对捍卫你思想的自由". 是,这是站在个人的立场上可以那么说.但是如果站在一个团队的立场上呢?一切不尽然了! 无论马拉车的原理也好,还是木桶原理也好,西方人整出来

浅谈Android开发中项目的文件结构及规范化部署建议_java

一.几句话 使用Gradle及其推荐的项目框架 把密码等敏感数据放入gradle.properties 不要自己写Http客户端,使用Volley或OkHttp库 使用Jackson库来解析JSON数据 避免Guava并出于Dalvik 65K methods limit不要使用过多的库 使用Fragment来绘制UI界面 Activity主要用来管理Fragment 布局文件XML也是代码,好好组织它们 在布局文件里,使用styles以避免重复的属性 使用多个style文件而不是一个巨大的st

浅谈Excel开发(1) Excel开发概述

做Office相关的开发工作快一年多了,在这一年多里,在插件的开发中遇到了各种各样的问题和困难,还好同事们都很厉害,在和他们的交流讨论中学到了很多的知识.目前Office相关的开发资料是比较少的,最最开始的时候,我看的是一本英文资料,然后再就是MSDN上面去提问了.所以我想写一点东西,让大家也少走一些弯路. 这篇文章就简要介绍一下Office开发的一些相关的知识,使大家对这个有一个大体的了解. 首先来看一看Office 的开发方式. 一 Office开发方式 1 VBA (Visual Basi

浅谈Symphony Spreadsheet在Excel报表测试中的应用

读者通过阅读本文,可以学习到 Symphony Spreadsheet 简单公式的书写,以及一些使用技巧,可以快速的运用到报表测试中,降低测试复杂度,有效提高测试结果准确性. 报表测试中常见数据对比 在 ERP 和 BI 项目测试过程中,对报表数据进行校验是非常有必要的,常见的数据对比场景如下:从系统导出的 http://www.aliyun.com/zixun/aggregation/16544.html">Excel 格式的报表数据,然后再给一份业务数据的源数据,要求校验报表数据是否正

浅谈Java开发人员对JCP感觉失望的原因

其中一种感觉就是JCP已经失去了它的吸引力,它不再是被当成针对解决问题的社区,相反,它只是被看成是一些大公司所利用的鉴定规范通过的橡皮图章.这些大公司凭着自身的钱势和力量来指定各种规范从而达到满足自己的利益. "这与有些官僚机构很相似,只不过是JCP在短时间出现这样的发展显得过于迅速." Redwood城市的Infravio公司的CTO,MukundBalasubramanian谈到JCP时,他这样说到,"现在有太多的程序员和公司都卷入JCP,每天都开发很多软件,每天都有大量

HIMI浅谈游戏开发DE自学历程!(仅供参考)

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/game-detail/382.html .                              希望童鞋们不要在此篇博文中发表技术问题,谢谢合作 很多群友进群之后都会问我如何自学:那么今天就专门写篇博文说一下,供各位童鞋交流和学习: 大家先来看一段我每天时间安排的数据: 上班之前: 学习J2me的时候,每天除了饿了去吃饭之外,全部用来

浅谈手机开发

      话说从去年开始,智能手机席卷中国.一般的人都开始讨论智能手机了,其中2个关键字听的最多:诺基亚,Android(不知道中国人怎么把它翻译成安 卓).为什么呢?说实在话,在大学里面读书,我只知道诺基亚,然后知道它的高端手机里面有手机操作系统,Symbian(中文翻译为:塞班).那是同学的 手机可以上QQ,可以用UC浏览器上网,用手机看电子书或者在线看小说,(盛大文学为什么发展的这么快,手机能看小说也帮了不少哦!)那时还真很羡慕的 哦!      自从Google公司推出Android,

从设计师的角度浅谈网站开发

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 公司开发了一套新的系统,但界面看上去并不是太友好,这个方面就成了我的工作,面对N个界面设计,N个杂碎页面的整理,还合着很多策划和用户体验的东西,确实头疼了,还好的是已经完成了,简单的总结下吧. 珠海网站开发中设计师的工作流程 1.准备阶段:查看并熟悉统相关的文档,对系统的工作流,面对对象,用户体验等有个大致的把握和了解,不至于设计时钻牛角尖,

浅谈PHP开发中MySQL数据库索引的经验

假如我们创建了一个testIndex表:CREATE TABLE testIndex(i_testID INT NOT NULL,vc_Name VARCHAR(16) NOT NULL); 我们随机向里面插入了1000条记录,其中有一条    i_testID    vc_Name      555    erquan     在查找vc_Name="erquan"的记录SELECT * FROM testIndex WHERE vc_Name='erquan';时,如果在vc_Na

浅谈自己网站三次PR更新变动的理解

接着上一篇文章来续说,PR更新变动,造成自己的网站三次PR发生变化,那么就来说说最近的三次PR更新吧,这些理解应该对一些知道的朋友都是很有帮助,先来总的说说PR自己的站三次变动,第一次0-4,第二次4-0,第三次0-2,如果有这些人是的话,相信分析这些问题还是挺有意义的. 第一次,0-4,这段过程中,是发生在网站制作半年,然后改版成为博客之后直接PR升到了4,不得不说那一次的更新还是听给力的,虽然我知道一些原因,但是看着那些数字应该也还是挺舒服的吧,那么就分析一下原因;PR从0-4是一个过程,但