[转】:VS 2010 : 如何开发和部署Outlook 2010插件(Add-in)
VS 2010 : 如何开发和部署Outlook
2010插件(Add-in)
转自: http://guofblog.blog.163.com/blog/static/168088614201062455332296/
-- |
http://guofblog.blog.163.com/blog/static/168088614201062455332296/
这篇文章,我将通过一个简单的例子,给大家分享一下如何在VS 2010中开发和部署Outlook
2010的插件(Add-in)
首先,我要说一下什么是插件(Add-in)
插件一般是对现有程序的扩展,微软的Office系统公开了一套接口,可以很方便地让开发人员基于这些接口去实现对Office应用程序的增强。这个接口,准确地说,就是Extensibility.IDTExtensibility2.
当然,除了Office,有很多应用程序都支持类似的扩展机制,例如IE,以及Visual
Studio本身,都支持一定程序的扩展。
其次,我要说一下以前是怎么开发插件Add-in的
开发Office插件(Add-in)的途径有各种各样的,我大致总结分为三类:
VBA
开发:这个是基于Visaul Basic for
Application这套开发模型做的一些定制。这种定制的限制比较多一些,但开发难度相对来说更加低一些。做过VBA开发的朋友都知道,VBA是脱离不了应用程序本身的。例如Excel的VBA编辑器如下图所示
VC++,Visual
Basic开发:这种开发方式允许我们在VC++,或者VB
6中,直接实现Extensibility.IDTExtensibility2这套接口,并且可以更加灵活,做更加强大的一些定制。目前的Office应用程序中,默认就安装好了的一些插件,都是这种方式做的。例如下图是我的Outlook默认安装的一些插件列表
【备注】很早之前,我也用VB 6做过这方面的开发。但现在基本连VB
6的安装程序都找不到了。所以这里就不截图了,其实就是有一个项目模板,然后实现接口。开发这种插件,关键在于对Office本身内部的一些对象模型熟悉。
VSTO开发:所谓VSTO,全称是Visual
Studio Tools for Office.我记得是从VS 2003开始提供了VSTO
1.0,简而言之,就是允许在.NET的开发环境中开发Office应用程序或者插件。这种方式有着显而易见的好处,就是能力增强,因为可以用到.NET的整套框架。VSTO发展到现在有几个版本,分别如下
VS 2003: VSTO 1.0
VS 2005: VSTO 2.0
VS 2008: VSTO 3.0
VS 2010:
VSTO 4.0
VSTO
之前的版本有一些不太好的地方是部署,不要小看部署这个环节。如果你曾经花了很多精力写出来了一个很好的插件,但是因为各式各样的部署问题导致没有办法很顺利地分发给你的用户,那种感觉是很让人沮丧的。VSTO的解决方案有相当多的一些环境依赖,另外还需要提升.NET中的安全策略等等。
一个好消息是,现在的新版本中,开发和部署将是相对更加容易了。在开发方面,模板更加好用,也提供了对Ribbon的内置支持,部署方面,我们可以通过ClickOnce技术发布到网站,或者打包成一个vsto压缩包文件,很容易地进行部署。本文我们就来用一个简单例子进行说明。
然后,我们来看看在新版的开发工具中,如何快速高效地开发插件(Add-in)
作为演示,我主要侧重于开发和部署的流程。我们要实现的一个插件,其场景比较简单:
我们需要在Outlook中添加一个新的Ribbon按钮,该按钮点击之后,可以弹出一个窗口,允许我们从Excel文件中导入联系人
那就让我们开始吧
第一步:创建一个Add-in项目
这个项目模板会自动创建下面的项目结构
【备注】在ThisAddin这个类中,可以很方便地访问到Outlook的当前实例,只要使用如下的代码即可
this.Application
第二步:添加一个Ribbon
我们需要为Outlook添加一个新的Ribbon按钮,事实上这很容易做到。
我们选择Ribbon(Visual Designer),这样就可以在可视化界面中设计了
我们首先需要设置一下,这个Ribbon是在什么地方要显示。在下图中,我们将RibbonType修改为Microsoft.Outlook.Explorer,这样的意思是说,我们这个Ribbon是现在在Outlook默认的那个管理器窗口中的
接下来,我们可以添加一个按钮到group1中去。工具箱中有很多可用的控件
我最好做好的Ribbon看起来像下面这样
第三步:实现简单的逻辑
接下来,我们可以为这个按钮实现简单的逻辑
通过双击该按钮,会产生一个事件处理器
我简单地实现代码如下
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Office.Tools.Ribbon; using System.Windows.Forms; namespace OutlookAddInSample { public partial class MyRibbon { private void MyRibbon_Load(object sender, RibbonUIEventArgs e) { } private void btImport_Click(object sender, RibbonControlEventArgs e) { Form form = new Form() { Text = "Import Contacts from Excel File", StartPosition=FormStartPosition.CenterScreen }; form.Show(); } } }
第四步:调试
完成如上的操作之后,一个最简单的Add-in就做好了。那么如何进行调试呢?
没错,直接按F5就可以进行调试了。此时,Outlook会自动打开,然后我们的Ribbon也确实能看到了
点击该按钮,我们也确实可以看到一个窗口被显示出来了
同时,我们在Outlook的选项对话框中也能看到这个插件的信息
第五步:发布
如果我们在本机做好了调试,那么如何分发给用户呢?以前我们一般会制作一个MSI的安装程序,现在你依然可以这么做。但我今天主要介绍的是一种更加方便的部署方式,就是通过ClickOnce技术发布到网站或者文件夹中。
【注意】这里的location是可以有下面几种的。但我这里保持默认的选择,直接发布到一个文件夹
发布如果没有遇到什么错误的话,会生成下面的一个目录
我们一般可以将这个目录,打包给用户即可。
第六步:安装
接下来,用户如果拿到了这些文件,应该如何安装使用呢?其实也很简单,它可以双击setup.exe,或者设置直接双击vsto文件也可以
一般情况下,会有一个提示。
点击“install”
然后,我们再去打开Outlook的话,仍然是可以看到这个Add-in以及它所添加的Ribbon的
第七步:卸载
最后,如果用户需要卸载这个插件,应该怎么做呢?
他们可以在Programs and
Features窗口中,找到这个插件,然后点击“Uninstall”即可
总结
通过本文的简单实例,大家可以了解到在VS 2010中开发Outlook
2010插件相比较之前而言,有了很大的一些改进。当然,VS 2010也可以开发Office 2007版本的插件。
历史上的今天
相关文章
最近读者
评论
取消
-1-1-1-1-1-1-1...
-1下一页
[转】:VS 2010 : 如何开发和部署Outlook 2010插件(Add-in)相关推荐
- 远程桌面服务器office版本,规划在远程桌面服务环境中部署 Office 2010
适用于: Office 2010 上一次修改主题: 2016-11-29 远程桌面服务(以前称作终端服务)是 Windows Server 2008 R2 中的一个服务器角色,它提供了一些技术,可供用 ...
- 【Smobiler企业APP开发之一】开发环境部署
最近研究了下Smobiler-.net移动开发,对于做企业APP开发Smobiler还是够用的,况且是完全使用C#进行编程,对于使用C#进行程序设计的程序员来说还是很容易上手的. 本章节主要介绍Smo ...
- SharePoint 2010应用开发系列
这段时间一直在忙着写SharePoint 2010的MSDN,花了很大的精力来研究,在这里记录一下一些心得体会,希望能给大家带来帮助,共同进步. 各位如果也在研究SharePoint 2010 ...
- ASP.NET 4 和 Visual Studio 2010 Web 开发概述
声明:本文是ASP.NET 白皮书 ASP.NET 4 and Visual Studio 2010 Web Development Overview 的阅读摘要,只是本人的学习记录,并非完整翻译,仅 ...
- SharePoint 2010: 对于开发人员
对开发人员的价值 SharePoint 2010为开发人员提供的好处是什么? 开发人员可以使用 SharePoint 2010 开发平台为企业和 互联网构建商业协作应用,并且使用熟悉的工具和一套丰富的 ...
- 部署FIM 2010 R2—1先决条件准备
下面的章节中,我们主要介绍FIM2010 R2在俩个林之间进行密码同步,完美的解决了互联网公司内网开发环境和外网办公环境回来修改密码的问题. 为互联网公司IT环境带来很大的便捷,大大节省了IT管理的成 ...
- 《微软云计算Windows Azure开发与部署权威指南》——6.8 AppFabric服务总线的多播服务开发...
本节书摘来自异步社区<微软云计算Windows Azure开发与部署权威指南>一书中的第6章,第6.8节,作者: 尹成 , 郝庭毅 , 张俊强 , 孙奉刚 , 寇睿明 更多章节内容可以访问 ...
- 从开发到部署:一站式指南创建个性化 Slack App 问答机器人
从开发到部署:一站式指南创建个性化 Slack App 问答机器人 01 简介 做这个教程是因为看别人拿免费的割韭菜很不爽,所以准备做个教程来教大家如何搭建一个问答机器人 内核其实就是利用了slack ...
- 【VS开发】VSTO 学习笔记(十)Office 2010 Ribbon开发
微软的Office系列办公套件从Office 2007开始首次引入了Ribbon导航菜单模式,其将一系列相关的功能集成在一个个Ribbon中,便于集中管理.操作.这种Ribbon是高度可定制的,用户可 ...
最新文章
- R语言随机森林回归(randomforest)模型构建
- Python函数式编程中map()、reduce()和filter()函数的用法
- Java基础11-封装(思想、访问权限、this、构造方法)
- linux中在工作空间编译cpp,linux tensorflow2.4.0 c++ 编译
- A Simple Job
- java:二分法查找
- 父子域+主辅域控的搭建
- if __name__ == __main__如何正确理解
- 【吴恩达机器学习】学习笔记——梯度下降
- Scrum 敏捷开发 笔记
- smtp协议与pop3协议
- powerDesigner 反向生成mysql数据库库
- 在校园网的环境下用树莓派搭建私人云
- 计算机科学技术职业道德,计算机职业道德与学术技能
- Ubuntu利用Xorg.conf配置双屏扩展显示
- AI开发者大会,李彦宏成“宏颜获水”?
- AutomationML与OPC UA 相结合-为工业4.0 组件建模
- 安装micro/go-micro
- 软件的生命周期的若干阶段
- LCL型并网逆变器并网电流谐波的电容电压全反馈方法