各位广大的园友,我想写博客很久了,但是迟迟没能走出第一步。今天我终于准备好了我的博客之路,希望以后能够吧我工作共遇到的困难和干货和大家分享。
本篇博客主要是记录我是如何开发一个Outlook插件的,个人写博客刚刚开始,很多地方可能表述不是很妥当的,请各位园友多多体谅。
废话不多说了,开干。Outlook插件主要是给我们的邮件一些自定的功能,例如:定时归档、设置通讯录等一系列自定义的一些开发。我们现在开发一个很简单的插件应用。
第一肯定是要先安装好编程环境,下面给好链接:
安装VS2013或者VS2015编程软件。
安装VS2013教程链接:http://jingyan.baidu.com/article/92255446880460851648f429.html
安装VS2015教程链接:http://jingyan.baidu.com/article/642c9d34fc5fa0644b46f74a.html
下面是开发步骤:
一、建立WinFrom应用程序项目
Sept1:打开VS2013
Sept2:点击【菜单栏】中的【文件】,点击【新建】,点击【项目】
Sept3:在打开的对话框中选择【已安装】,选择【模板】,选择【Visual C#】,选择【Windows】,选择【Windows窗体应用程序】,输入项目名称,点击【确定】按钮,然后我们就建立好了一个Windows应用程序
此时在右边【解决方案资源管理器】中的项目代码结构如下图:
二、建立Outlook插件项目
Sept1:在刚才建立好的Windows窗体应用程序的右边的【解决方案资源管理器】中,右键点击【解决方案 “Outlook外接程序端”】,选择【添加】,选择【新建项目】
Sept2: 在打开的对话框中选择【已安装】,选择【Visual C#】,选择【Office/SharePoint】,选择【Office外接程序】,选择【Outlook 2013外接程序】,输入项目名称,点击【确定】按钮,然后我们就建立好了一个Outlook外接程序
此时在右边【解决方案资源管理器】中的项目代码结构如下图:
三、建立相关引用以及开发一个例子
Sept1: 建立插件和应用程序的引用,在右边【解决方案资源管理器】中,选择【OutlookAddIn1】,右键点击【引用】,选择【添加引用】
Sept2:在弹出的对话框中选择【解决方案】,选择【项目】,勾选【Outlook外接程序端】,点击【确定】,完成插件对应用程序的引用
此时可以看到OutlookAddIn1项目中有引用了【Outlook外接程序端】,如下图:
Sept3:为OutlookAddIn1项目添加一个【功能区XML】,在【解决方案资源管理器】中右键点击【OutlookAddIn1】项目,选择【添加】,选择【新建项】
Sept4:在弹出的对话框中选择【已安装】,选择【Visual C# 项】,选择【Office/SharePoint】,选择【功能区(XML)】,输入名称,点击【添加】按钮
添加完功能区文件后,此时项目代码结构如下图:
Sept4:设计功能区,添加一个按钮,打开Ribbon1.xml文件,并且在文件中键入以下内容,然后保存,如图:
打开【ThisAddIn.cs】文件添加插件入口代码,如图:
右键点击【OutlookAddIn1】,选择【设为启动项目】,然后按【F5】进行调试,在Outlook中出现如图界面说明功能区UI已经添加成功了,
Sept5:下面我们在按钮上加载一张图片,使得界面更友好。首先添加一张图片到资源文件中
复制文件,双击打开文件【Resources.resx】,然后按Ctrl+V添加文件到资源文件中,成功后如下图:
打开【Ribbon1.xml】,配置加载图片的方法,以及按钮的图片,如图:
打开【Ribbon1.cs】文件进入图片加载方法,并且添加【using System.Drawing;】引用,如图:
然后按【F5】进行调试,在Outlook中出现如图界面说明功能区UI图标已经添加成功了,
Sept6:为按钮添加一个点击事件,打开【Ribbon1.xml】文件,键入如图内容为按钮添加点击事件
打开【Ribbon1.cs】文件,添加点击事件代码,键入如图内容:
然后按【F5】进行调试,在Outlook中点击【测试按钮】出现如图界面说明功能区按钮点击事件已经添加成功了,
Sept7:在插件端调用【Outlook外接程序端】,实现插件的调用,在【Outlook外接程序端】项目中打开【Form1.cs】文件,键入以下内容如图:
打开【Ribbon1.cs】文件,更改点击事件代码,键入如图内容
然后按【F5】进行调试,在Outlook中点击【测试按钮】出现如图界面说明功能区按钮点击事件调用应用程序成功了
到此我们已经开发了一个插件应用,下一篇博客将重点介绍如何打包成为一个安装包给他人安装的时候使用。谢谢大家,如果有哪里不到位,请多多包涵。