开启辅助访问
 找回密码
 立即注册

VSTO未能流行开来的原因是?

123456833 回答数5 浏览数705
我有一台小小的观察,从书籍、主流的excel论坛、甚至资深上的问题数来看,VSTO基本就是一台非常小众的存在。请问VSTO未能得到广泛使用的原因包括哪些?office 的web化?
使用道具 举报
| 来自陕西
monicacaca | 来自北京
我写了很两篇文章专门吐槽这件事情
陈默:项目临近结束,谈谈关于 VSTO 的一些看法陈默:在试图开发 Excel 加载项插件后我不想说话了我不是程序员,我是做数据中心运维的。我在2015年的时候,也是很偶然地从知乎上读到了某个大 V 关于 Excel 的奇淫巧计的高赞答案,里面提到了关于 VBA 的内容,我非常感兴趣。那个时候我的函数用的还不错(毕竟能搞懂并且使用 VLookup 在同事中就已经是大神的存在了)看了那篇文章之后,就开始从公司的线上图书馆找 VBA 的书来读。在几年的时间里面,VBA 为我带来了很大的价值(自动化+摸鱼)。在巅峰时期,我用一个 xlsm 表格完成了一个项目从整理数据到自动发送邮件到200+个客户组的整个工作流程,包括遇到被废止邮箱退信时,通过 AddressBook 寻找对方所在的组邮箱进行 fallback,没有出差错而且节约了大量人工时(之前的印度组的项目资料显示是5个人做的,那几年我们都是我一个人全程安排完)
由 VBA 开始,我作为一个素人,自己学习了很多计算机知识和 .NET 架构的编程。
在听说有 VSTO 之后尝到甜头的我也是立即扑了上去研究。
然后我很快就自闭了。
我来说一下为什么 VSTO 流行不起来吧。
最主要的因素就是它想要替代的前辈,VBA,太过于耀眼和强大。VBA 几乎可以满足 Excel 自动化的一切需求。如果 VBA 满足不了,那么很可能这个活儿就不应该用 Excel 去干。VSTO 想要取代 VBA 几乎是没有意义的事情,除非某天微软脑袋发热把 VBA 给整个取消强制推行 VSTO 或者 Web Add-in。
两者比较起来,VSTO 除了可以方便地进行版本管理,以及解决 VBA 的一些中文字符转码问题之外,并没有能够提供独特的增益,而这两个问题都不是影响 Excel 加载项开发的核心问题。VSTO 部署起来也没有比 VBA 更加方便快捷。如果我们打包 VSTO 项目发给对方,无论是安装中出现的问题,还是版本兼容性,平台兼容性,都远不及发一个 xlsm 或者 xlsa 文件来得简单。
比如我就为我一个事业单位的朋友写过 Excel 的 VSTO,然后发现他们单位用的是 2010 甚至更老的版本。比如我自己夯了一个 VSTO 准备发给同事,结果她和我诉说需求的时候我发现她用的是 Mac,只能作罢。
总结起来两点:

  • 和传统的 VBA 相比没有增益很大
  • 和 VBA 相比在部署难度和兼容性方面有明显短板
<hr/>另外,微软自家对 Office 的集成功能的开发水平也是我们这些素人不能企及的。以前 Excel 功能没那么全,会有很多社区热衷于开发加载项来补偿。现在 Excel 的自带功能非常丰富,基本上可以涵盖日常的数据处理和呈现的需求。你很难找到必须要自己动手做出一个专门的加载项项目才能完成的需求。
这里再次强调,如果如此丰富的自带功能都无法满足你的需求,那么很可能你不应该去考虑开发 Excel 加载项,你应该考虑用别的工具、软件去满足你这个需求。即便你不得不在 Excel 中整活儿,VSTO 也不会是你的首选项,开发更加快捷,部署更加轻便的 VBA 它不香吗?
这就有点像当年2010年星际争霸2发售,银河编辑器非常强大。你甚至可以使用它来做 FPS 和横板过关游戏。当时大家都觉得星际争霸2自定义会像魔兽争霸3的自定义一样迎来百花齐放的新的春天。结果呢?有能力的人,不屑于用它,会把精力投向更专业的游戏引擎开发;而没能力的人本身也不会去了解它。它没有找到自己的生态位,从一开始的新鲜活力,持续走低,保持着不温不火的状态。可以说暴雪是犯了经验主义的错误。魔兽争霸3编辑器创造的自定义游戏之所以那么火,在当年是由历史客观条件决定的;它在那个时期占据了缺失的生态位。这个历史条件去除以后,虽然银河编辑器更好用,但是却火不了。这个需求没有找准,必然遭到历史进程的冷落甚至是淘汰。
VSTO 带着微软的寄托的满满期望迈入新的纪元,等待它的却是一个 Office 加载项的寒冬。它诞生于世,左顾右盼,但是只看到新纪元拥挤的生态位,并没有留给它的生存空间。
回复
使用道具 举报
sefesfw | 来自北京
做了很多年的vsto开发,说下vsto的感受:
部署上一个问题,这个东西如果没些经验想要做好部署安装包要愁死。
跨平台是一个困难点,现在只能说windows上用。
开发的门槛相对于vba的编写,提升了很多。也就导致能够参与做这个事情的人相对少了很多。
如果做的好的话,效果也还行。
我做的一个Excel插件,感觉还行下载地址http://www.guanexcel.com/
回复
使用道具 举报
yanjinke | 来自黑龙江
从vba转http://vb.net发现网上基本上资料都是c#,像我这种学渣很难有毅力继续下去了。这几天虚拟机弄了好几次才固定下win7+vs2010环境打包出一个测试的插件。不过vs封装比vb6简单的太多。个人觉得随着vs版本升级会出现越来越多的像我一样vsto学习者。
回复
使用道具 举报
小雷雷 | 来自上海
我自己没事的时候挺喜欢玩VSTO的,不过这样的东西无法流行也在情理之中,原因就在于其定位实在尴尬。
个人低端用户就是把word当成richtext版notepad,把excel当成自动划好格子的notepad,把powerPoint当作能放图片的notepad。他们自然不会有使用office插件的需求;
个人中高端用户把Office自带的功能玩得很溜,而office本身的应用功能又实在是丰富到不行,因此他们几乎也对office插件没需求;
企业用户,他们其实存在大量的office开发需求,但这些需求都是潜在的,未被发掘而又难以被发掘并且没人愿意去发掘的。为何这么说呢?设想企业抛出一个暂时无法解决的需求,需要外部团队来解决,而你作为乙方,你认为是提供一个基于office的解决方案看上去值钱,还是一套全新的应用系统更值钱?
小企业看不上,大企业用不上,所以干脆就没人用咯。没人用就没市场,没市场就没人开发,没人开发自然就找不到什么资料或开源项目。
回复
使用道具 举报
451618602 | 来自河北
我本不是啃代码的,全是被工作烦的从录制宏、修改宏开始接触VBA,已经可以满足工作需求就不必再深入学了。VSTO据说不错,可是一打开界面诶呦我去脑子咋转不动了呢,所以我还是回归熟悉的VBE界面吧毕竟写代码这种事情一年也就那么几天。
——其实你看到的那些活跃在officeVBA论坛上的大多是类似我这样各行各业的使用者,用不着学新的。此外论坛上的问题八九成都是入门级别,本来段位低的人就多。
而使用VSTO的多是极客或专业做二次开发的,人少,资源自然少,而高段位的技术问题发论坛会沉,也不如直接群聊快,论坛上也就显得冷清了。
回复
使用道具 举报
快速回复
您需要登录后才可以回帖 登录 | 立即注册

当贝投影