[转】:VS 2010 : 如何开发和部署Outlook 2010插件(Add-in)
VS 2010 : 如何開發和部署Outlook
2010插件(Add-in)?
轉自:?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版本的插件。
淘寶面試題:如何充分利用多核CPU,計算很大的List中所有整數的和(轉)
歷史上的今天
相關文章
最近讀者
登錄后,您可以在此留下足跡。
floating
neusoftr
qdechoch
machoe
sh_l_sun
toto_80
cxgeng19
uiryangm
評論
點擊登錄|昵稱:
取消
驗證碼:換一張
上一頁 1...
-1-1-1-1-1-1-1...
-1下一頁
總結
以上是生活随笔為你收集整理的[转】:VS 2010 : 如何开发和部署Outlook 2010插件(Add-in)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle修改数据库为非归档模式
- 下一篇: Google 超分辨率技术 RAISR