`
v5qqcom
  • 浏览: 1285046 次
文章分类
社区版块
存档分类
最新评论

OFFICE开发历程

 
阅读更多
用OFFICE开发应用程序也有相当一段时间了,一直很想写一点这方面的东西,总结一下自己学习和成长的过程。就以"OFFICE开发发展历程"作为这篇blog的标题吧
一。定义
什么是OFFICE开发
Office开发是指在基于现有Office的平台上进行功能挖掘和开发的工作。
其主要包括两种形态:
单个组件的应用和功能性扩充设计(例如用Access做一个库存管理的小型的关系型数据库,又例如给Excel开发一些加载宏或者一些自定义函数,以实现一些特定的功能要求等)
Office各组件搭配协作,甚至OFFICE与基于Windows SharePoint Services或者SharePoint Portal Server 平台搭建的企业信息门户网站的配合开发,以实现企业信息的最大共享和办公效率的根本性提高

Office应用如此广泛,对Office的演变有一定认识和对Office发展趋势有一定了解的人都能感觉到,即使是纯粹从技术角度来看,Office的应用前景也是很有吸引力的
二。适用范围
什么时候会需要用到OFFICE开发?
记得当初我学Excel VBA做开发的时候,一个根本的出发点就是我想简化我当时自己的工作,例如我有这样一项工作:每个月对固定格式的一些数据,按照一定的规则进行汇总,分析,输出一些图表和报表。我当然可能每次都手工做,只要我不嫌麻烦。但我很显然不想在这种工作上浪费我太多的精力,于是我自己就琢摩着录一两个宏,然后一点点地改到自己要的效果。
所以,从上面看,虽然也是有一部分个人会纯粹为了兴趣和好玩去学习和研究Office的应用和开发,但绝大多数的情况下,可以理解,企业接受Office就不是出于兴趣了,更多的时候都是由于为了提高现有的工作效率而产生了需求。
Office开发与用其他语言开发并没有实质上的差异,虽然大多数情况下,这一类应用要求客户端必须安装有相应版本的Office软件,但这不是技术上的根本差异。Office的开发也是面向对象的编程,现阶段主要用到的VBA技术根本就与VB技术一脉相承。
我粗略地总结一下,Office开发可以帮助企业或者个人完成以下三大类工作,甚至更多
重复性的工作,规律性的工作,创造性的工作
重复性的工作:这是Office开发的价值体现之一。谁会为了一次的应用而专门去写一个程序呢?
规律性的工作:这是Office开发实现的条件之一。用户当然可以要求尽可能灵活,但永远记住,无论如何总得有一些规律是固定的,流程得是基本固定的。
创造性的工作:这是Office开发的更高价值体现。时至今日,我们就不得不为SharePoint技术叹服。Office本身就是非常优秀,而毫无疑问,它将给我们带来更多的惊喜。
模板开发,加载工具开发,一步一步地走来,走向的是系统整合协作开发
三。技术发展沿革(以Excel为例进行说明,其它组件由于本身的特性可能稍有差异)
第一代技术:XLM的时代
Office97之前,Excel使用一种xlm的宏语言。虽然听起来是那么陌生和遥远,我们依然可以从一些地方看到xlm宏语言的一点影子。我们在插入新的工作表的时候,会发现我们可以插入"MS EXCEL 4.0宏表",这就是以前xlm宏的栖身之所。当然,现在基本是已经没有多少人在用这个比较原始的宏表了,但Microsoft依然在最新的office版本中保留了这个选项,以实现最大可能的兼容
第二代技术:VBA的时代
Office97及以后,乃至未来,Microsoft创造了一个全新的语言(VBA:Visual Basic For Application)和开发环境(独立的VBE:Visual Basic Editor)。VBA是令人耳目一新的创举。
伴随着VBA,Microsoft还在OFFICE开发中结合了"脚本"的概念,我们可以通过Microsoft Script Editor来编辑控制OFFICE程序和文档的脚本。
第三代技术:XML的时代
什么是XML?
XML是包含类似于HTML标签的一个文本文件,在这个文件中定义了一个树型结构来描述它所保存的数据。XML最大的优点是你既可以在这个文本文件中存储结构化数据,也可以在其中存储非结构化数据——也就是说,它能包含和描述"粗糙的"文档数据,就象它描述"规则的"表格数据一样。
Microsoft从OFFICE XP开始,尤其是在OFFICE2003中,极大地突出了对XML的支持。而office的下一代产品:office12 则完全是基于xml架构的文档
如果我们对xml还一无所知,或者知之甚少,这不能不说是非常可怕的一件事情
.Net风席卷全球的同时,我们很高兴地看到office的开发工具也有了一些补充。那就是基于.net技术的VSTO(Visual studio tools for office)
对应.Net 2003 的是VSTO 2003,而目前最新的版本是VSTO 2005(当然是beta 2)
请注意,我在介绍VSTO时,谨慎地用到了“补充”这个词,并不是因为我很喜欢VBA的开发,要说VSTO将取代VBA心理上总有点不舒服,而是至少目前VSTO的功能还很有限,只能针对Excel,word做一些文档的开发,而且比VBA的确来得复杂。
但我相信VSTO将不断的发展,变得更加适合使用。
四。关于OFFICE开发的实践
Office开发的潜力还是相当大的,因为用Office开发可靠性高,效率高,Office本身还是平易近人的。技术也是在不断地发展的,我们有理由相信,我们可以做到更好。
五。其他遐想
听说金山的WPS也提供了二次开发的工具和环境,但是基于C语言的,估计我很难花时间再去学C语言了。但有这方面的经验的朋友可以去了解一下,顺便也给我介绍介绍
<!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="http://www.cnblogs.com/chenxizhang/articles/203279.html" dc:identifier="http://www.cnblogs.com/chenxizhang/articles/203279.html" dc:title="OFFICE开发历程" trackback:ping="http://www.cnblogs.com/chenxizhang/services/trackbacks/203279.aspx" /> </rdf:RDF> -->

评论

我没有仔细思考你的观点。
至于Office的开发给我的感觉,我觉得潜力(或者前景)在一下几个方面:
1.目前企业内部的资源,Office文档占了很大的比例。这些资源的共享以及储存状况目前均出于基于口头或者单机的层面。Office的开发或者解决方案的目的就在于对这些资源进行管理。
2.Office是企业最熟悉的业务操作客户端。基于Office做为前端的业务系统将给我们带来低成本的系统实施。
3.构建于Microsoft企业解决方案的Office系统将成为企业的协作平台。

一点看法。

#2楼 2005-08-13 13:06 Duiker 回复引用查看

我对Office的使用与你们可能恰恰相反,我主要使用Office进行测评方面系统的研发,所以我使用Office的主要用处不是生成,而是识别。

也许1000个人对于Office的二次开发有1000个想法^_^。
#1楼 2005-08-04 20:08 春鱼 回复引用查看
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics