ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

EH搜索     
EH云课堂-专业的职场技能充电站 Excel转在线管理系统,怎么做看这里 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! Excel 2016函数公式学习大典 高效办公必会的Office实战技巧 免费下载Excel行业应用视频
300集Office 2010微视频教程 Tableau-数据可视化工具 精品推荐-800套精选PPT模板,点击获取 ExcelHome出品 - VBA代码宝免费下载
你的Excel 2010实战技巧学习锦囊 欲罢不能, 过目难忘的 Office 新界面 Excel VBA经典代码实践指南
查看: 4723|回复: 3

SharedAdd和VSTO两者很多人都弄不清楚,关于这一点Cindy Meister大神有详尽的比较

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-7-29 14:28 | 显示全部楼层 |阅读模式
本帖已被收录到知识树中,索引项:VSTO开发
本帖最后由 liucqa 于 2013-7-29 14:30 编辑

SharedAdd和VSTO两者很多人都弄不清楚,他俩既有相同的地方也有不同点,关于这一点Cindy Meister大神有详尽的比较,异同点有:

相同点:

    他们都会在操作系统的注册表中进行注册,比如对于Excel应用程序来说,会在HKCU\Software\Microsoft\Office\Excel\Addins这个下面创建注册表项,当应用程序比如Excel加载时,会逐一加载这个下面注册的插件.这些插件在COM加载项中可以进行集中管理。
    他们都在Office Com接口上面通过Office对象模型进行构建,他们都可以将建一些可扩展的UI,比如用户自定义任务面板(Custom task panel),Ribbon菜单等。

不同点:他们也有很多不同点,主要不同点如下:

    从名字可以看出Shared Add-In可以在多个不同的Office应用程序之间,比如Excel,Word中共享。因此在Shared Add-in中需要一些判断和处理不同宿主程序的代码。但是VSTO Add-Ins则是应用程序明确的。VSTO Add-Ins只能用在一种宿主应用程序中如Excel或者Word中运行,因此不需要在代码中处理对不同的宿主应用程序的类型做特殊的处理,比如将通用的对象转换为特定的对象,通过反射等调用不同应用程序的方法等。
    要在Shared Add-In中创建特殊的UI界面,如Ribbon菜单,Custom Task Panel以及Form窗体等,需要实现office.dll中的三个接口:Office.IRibbonExtensibility,Office.ICustomTaskPanelConsumer及Outlook.FormRegionStartup接口。不论是创建的是以上哪种类型的UI界面,我们都需要在接口方法中编写很多处理代码。但是,如果使用Visual Studio Tools for Office,这些东西VSTO都帮我们包装好了,我们只需要从工具箱中往界面上拖动添加新的Ribbon菜单,UserControl,及FormRegion即可。这些界面在Visual Studio中都提供了设计时支持,我们只需要拖动,设置熟悉,双击然后处理绑定的事件即可,就象设计Windows Form应用程序一样简单。
    还有一个重要的区别是安全模型。对于SharedAddin的IDTExtensibility2接口来说,从来不需要代码的安全访问机制(CAS),因此,在Office加载SharedAddin的时候,不需要调用caspol.exe方法来为Addin的程序集授予完全信任的权限。在VSTO中,2008版本中使用了.NET的安全策略,但是VSTO 2008使用了ClickOne部署以及真实代码模型(Authenticode)
    VSTO为每一个VSTO Add-Ins创建了一个AppDomain,因此各个Addin之间互不影响,开发者不需要担心一些诸如“Outlook关闭不了”的问题。当写在VSTO Addin的时候,AppDomian也会被卸载,CLR会卸载与其相关的所有资源。
    VSTO默认安装在HKCU(Current User)下面,而SharedAddin则默认部署到HKLM(Local Machine)下面。如果想让我们开发的VSTO Addin能让所有人使用,则需要在部署的时候对注册表进行一些额外的手动读写操作

http://www.cnblogs.com/yangecnu/p/Excel-Develpment-Introduction.html

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-7-29 14:32 | 显示全部楼层
四 Excel开发的资源

本文及后面的文章主要介绍ShardAddin和VSTO开发,所以下面列出我所看过的觉得有用的一些资源:

1.MSDN 论坛相应的模块:

    MSDN VSTO 论坛 http://social.msdn.microsoft.com ... -US/home?forum=vsto
    MSDN Excel Programming http://social.msdn.microsoft.com/Forums/en-US/exceldev/threads
    MSDN Apps for Office http://social.msdn.microsoft.com ... forum=appsforoffice

2.博客

    Cindy Meister 大神博客 http://blogs.msmvps.com/wordmeister
    Calvin Gao 小神博客 http://social.msdn.microsoft.com/Profile/calvin_gao/activity
    MYM]Brooks同学博客 http://www.cnblogs.com/brooks-dotnet/category/233027.html

3.书籍

    VSTO开发相关书籍推荐 Visual Studio Tools for Office 2007: VSTO for Excel, Word, and Outlook
    XLL开发书籍 Financial Applications using Excel Add-in Development in C / C++

TA的精华主题

TA的得分主题

发表于 2016-7-15 17:36 | 显示全部楼层
这么好的帖子,居然没人顶
感谢楼主的分享和总结

TA的精华主题

TA的得分主题

发表于 2016-9-1 09:13 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

关注官方微信,高效办公专列,每天发车

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2019-8-25 09:34 , Processed in 0.067958 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2020 Wooffice Inc.

   

沪公网安备 31011702000001号 沪ICP备11019229号

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:徐怀玉律师 李志群律师

快速回复 返回顶部 返回列表