Spiga
Posts - 348, Articles - 24, Comments - 1973
Cnblogs
Dashboard
Login
Home
Contact
Gallery
RSS
Mars的自语
为何Office的VBA如此成功,ArcGIS的却平平
2006-04-03 10:24 by 马维峰, 2485 visits,
网摘
,
编辑
Office取得巨大成功的一个重要原因就是VBA,使用VBA可以完成很多事情,基于Excel、Word的VBA小程序不计其数。
VBA程序员很多是业余程序员,正因为业余,解决的却是工作中需要解决的问题;所以,VBA程序大多都是只是在部门内部或个人使用的小工具。
集成了VBA的其他应用程序也很多,但真正能为程序增色的不多。
大多数人看到了VBA可以自动化一个程序,可以扩展已有程序,但没有看到在Office中,VBA代码可以是录制的,而不是写出来的,带来的好处是,学习曲线变得非常缓。如果没有宏录制功能,要熟悉某个Office组件的对象模型,绝非一日之功。
以ArcGIS为例,ArcGIS扩展必须使用ArcObject,不管是使用VBA也罢,VB也罢,还是C++也罢。但同时,ArcObject的学习不是一天两天可以搞定,对于业余程序员,要使用VBA来扩展ArcGIS,几乎没有可能;专业程序员又不屑使用VBA;而对于公司,如果要基于ArcObject来扩展ArcGIS,选择VBA意味着源码的保护很困难。所以,ArcGIS的VBA就如同鸡肋。
不过,学习AO的时候,使用VBA比使用其他语言要容易一些,写几行代码,然后直接运行测试结果,这种交互式的学习应该是最好的学习方法。
ArcGIS以及AO与Office相比,还有一个很大的差别,就是ArcGIS缺乏中等粒度的对象,例如Word和Excel的Range对象。对于Office开发,可以在对底层小粒度对象一无所知的状况下做很多事情,这就是抽象的力量。常人可以处理的复杂度是有限的,面对数十个对象和几百个对象,后者需要付出的努力不是10倍,而是数十倍或更多,因为在学习过程中,必须可以把这些对象在大脑中很好的组织,以控制其复杂度。
Categories:
[02] GIS
,
[07] Office, VBA
,
[10] 心得体会
Add your comment
9 条回复
#1楼
liujun
2006-04-04 15:14
VBA用来写写ATP程序倒是不错
回复
引用
查看
#2楼
ezwyj[未注册用户]
2006-04-04 17:02
你根本不明白ARCGIS的扩展是什么,
VBA只是语法规则,AO是COM组件,是真门针对GIS处理的,没有专业的GIS处理知道,就不能搞AO
你试想,如果你不会WORD编辑你会用WORD的VBA宏吗?
回复
引用
#3楼
powermap
2006-04-15 11:49
我觉得存在就有理由,如果arcgis没有了vba,好像是残缺的。用的人少,并不代表其不成功。到目前位置word和arcgis,一个是大众型应用软件,一个是专业的部门级的地理信息软件,应用群体不一样!
回复
引用
查看
#4楼
[
楼主
]
马维峰
2006-04-15 12:23
@powermap
ArcGIS 的 VBA 本身是不错,而且很多应用使用VBA就可以做很好。
我的意思是VBA和ArcGIS、ArcObject对象模型设计、没有宏录制机制导致了其应用的太少。反观MapBasic,就好一些。
回复
引用
查看
#5楼
hrent1982[未注册用户]
2006-04-20 14:10
对Mars的“抽象的力量”很赞同,最近开始思考关于“抽象”,如何抽象,觉得抽象是人与人之间交流的最通用的一种方式。当然,在抽象的背后隐藏了很多设计很多思考,确是智慧的结晶。在面向对象中,“抽象”由“封装”来实现,确实如你所言,“抽象”应该具有层次性(这一点AO可能是不及MS系列),在不同层次的对象上实施那些相对底层而言大同小异的操作似乎有些多余,然而对于VBA开发人员来讲确有很大的不同,毕竟人们是以抽象的概念思考问题,而不会在任何问题上都回到1+1=2的纯粹方式上去的:)
回复
引用
#6楼
hrent1982[未注册用户]
2006-04-20 14:17
不过Arcgis的VBA对代码的保护可以采取另外一种方式——通过实现它的客户化标准接口,将代码封装到dll中(以VB或VC打造,当然是com啦),可以直接挂接到Arc系列软件中去,不过具体自由度有多大我也没有亲自尝试过^_^
回复
引用
#7楼
[
楼主
]
马维峰
2006-04-20 16:26
@hrent1982
这个就是所谓的扩展开发,大多数开发都是这样的。
难度和VBA其实差不多,基本上就是实现一些COM接口,和使用VB扩展Office是类似的。
“抽象的力量”是代码大全里的话,呵呵。
回复
引用
查看
#8楼
zkjbeyond[未注册用户]
2006-05-12 21:51
会vb的人肯定会用word,excel
但会vb的人,很少知道arcgis.
回复
引用
#9楼
Excel吧[未注册用户]
2006-05-15 14:06
Excel知识交流,VBA应用实例——Excel吧
http://www.excelba.com
回复
引用
刷新评论
切换模板
发表评论
昵称:
[登录]
[注册]
主页:
邮箱:
(仅博主可见)
验证码:
看不清,换一个
评论内容:
登录
注册
[使用Ctrl+Enter键快速提交评论]
0
365350
导航:
网站首页
社区
新闻
博问
闪存
网摘
招聘
找找看
Google搜索
China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
China-Pub 计算机绝版图书按需印刷服务
历史上的今天:
2005-04-03
GCDPlot 0.31 发布
2005-04-03
贴几张去年指导的全国高校学生GIS应用开发大赛获奖作品(一等奖)界面
相关文章:
最新IT新闻:
19岁天才黑客发布首个iPhone 3GS破解软件
新浪邮箱大本营粉墨登场!Sina.cn开放注册
IE市场份额首次跌破60%
Google App Engine宕机6小时——云的安全在哪里?
微软新推社交网站Windows Live Planet
相关链接:
About
最新随笔
武汉地大信科招聘
灵图裁员的文章已删除
GCDPlot 0.40 download
如果访问我的博客,请尽量访问:http://www.3snews.net/?mars
Google街景(Streetside View)启动
Virtual Earth 添加纽约3D地图
NASA将在网上公布Landsat 7卫星数据
Google与斯坦福大学合作 应用Stanley采集3D模型
World Wind + SharpMap + OpenLayer
《3S 新闻周刊》No.14:从融资到裁员,灵图那些事儿
[转载]Worldwind Java - Jython example
基于Falsh的Virtual Globe
World Wind JAVA亮相JavaOne,Google Earth和Virtual Earth最大竞争对手
World Wind.net SDK,现状和问题
再谈共相式GIS和ArcObjects
最新评论
re: Google卫星地图,究竟“泄”了谁的“秘密”?
专业贷拷Q:64-8180-432拷/前/精/确/答/案 承接各考试项目Q:64-8180-432 各学历证办/理;135-52-234-970 全心为您的考试及各学历证件办理提供优质服保证通过各类... -- 王德
re: Google卫星地图,究竟“泄”了谁的“秘密”?
专业贷拷Q:64-8180-432拷/前/精/确/答/案 承接各考试项目Q:64-8180-432 各学历证办/理;135-52-234-970 全心为您的考试及各学历证件办理提供优质服保证通过各类考... -- 王德
re: Google卫星地图,究竟“泄”了谁的“秘密”?
专业贷拷Q:64-8180-432拷/前/精/确/答/案 承接各考试项目Q:64-8180-432 各学历证办/理;135-52-234-970 全心为您的考试及各学历证件办理提供优质服保证通过各类... -- 王德
re: Google卫星地图,究竟“泄”了谁的“秘密”?
专业贷拷Q:64-8180-432拷/前/精/确/答/案 承接各考试项目Q:64-8180-432 各学历证办/理;135-52-234-970 全心为您的考试及各学历证件办理提供优质服保证通过各类考... -- 王德
re: Google卫星地图,究竟“泄”了谁的“秘密”?
专业贷拷Q:64-8180-432拷/前/精/确/答/案 承接各考试项目Q:64-8180-432 各学历证办/理;135-52-234-970 全心为您的考试及各学历证件办理提供优质服保证通过各类... -- 王德
re: Google卫星地图,究竟“泄”了谁的“秘密”?
专业贷拷Q:64-8180-432拷/前/精/确/答/案 承接各考试项目Q:64-8180-432 各学历证办/理;135-52-234-970 全心为您的考试及各学历证件办理提供优质服保证通过各类考... -- 王德
re: Google卫星地图,究竟“泄”了谁的“秘密”?
专业贷拷Q:64-8180-432拷/前/精/确/答/案 承接各考试项目Q:64-8180-432 各学历证办/理;135-52-234-970 全心为您的考试及各学历证件办理提供优质服保证通过各类... -- 王德
re: Google卫星地图,究竟“泄”了谁的“秘密”?
专业贷拷Q:64-8180-432拷/前/精/确/答/案 承接各考试项目Q:64-8180-432 各学历证办/理;135-52-234-970 全心为您的考试及各学历证件办理提供优质服保证通过各类考... -- 王德
re: Google卫星地图,究竟“泄”了谁的“秘密”?
专业贷拷Q:64-8180-432拷/前/精/确/答/案 承接各考试项目Q:64-8180-432 各学历证办/理;135-52-234-970 全心为您的考试及各学历证件办理提供优质服保证通过各类... -- 王德
re: Google卫星地图,究竟“泄”了谁的“秘密”?
专业贷拷Q:64-8180-432拷/前/精/确/答/案 承接各考试项目Q:64-8180-432 各学历证办/理;135-52-234-970 全心为您的考试及各学历证件办理提供优质服保证通过各类考... -- 王德
随笔分类
Rss
[01] 3sNews
Rss
[02] GIS
Rss
[03] ArcGIS, ArcObject
Rss
[04] Grid(网格)
Rss
[05] VB 6
Rss
[06] .net
Rss
[07] Office, VBA
Rss
[08] Python
Rss
[09] GCDPlot
Rss
[10] 心得体会
Rss
[11] Others
随笔档案
2009年3月
2007年12月
2007年7月
2007年5月
2007年4月
2007年3月
2007年2月
2007年1月
2006年12月
2006年11月
2006年10月
2006年9月
更多...
2006年8月
2006年7月
2006年6月
2006年5月
2006年4月
2006年3月
2006年2月
2006年1月
2005年12月
2005年11月
2005年10月
2005年9月
2005年8月
2005年7月
2005年6月
2005年5月
2005年4月
2005年3月
2005年2月
2005年1月
2004年12月
我参加的小组
GIS.DeveloperUnion
开源GIS学习小组
团队博客
WebGIS(0/0)
DNN团队博客(0/0)
武汉.NET俱乐部(0/0)
Office专业开发团队(0/0)
GIS.DeveloperUnion(开发者联盟)(0/0)
开源GIS学习(0/0)
阅读排行榜
在Excel中使用VBA来筛选数据(42920)
《Excel与VBA程序设计》下载(25450)
推荐一套界面控件(Codejock Xtreme Suite Pro 9.51)(16945)
由Google Map API想开去(16418)
SharpMap介绍及源码分析(15565)
《Excel与VBA程序设计(mini版)》(14970)
几个不错的开源的.net界面控件(14513)
下载JAVA SDK 1.5(13825)
《Excel与VBA程序设计》写作计划(11707)
排序算法的动态演示(8803)
GIS站点
地理信息系统论坛
个人链接
hous和lily的缤纷生活
Neeki Baby
梅花山庄
葇葇的幻想空间
狮子林
我在3sNews的Blog