日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

[转】:VS 2010 : 如何开发和部署Outlook 2010插件(Add-in)

發(fā)布時(shí)間:2025/3/17 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转】:VS 2010 : 如何开发和部署Outlook 2010插件(Add-in) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

VS 2010 : 如何開(kāi)發(fā)和部署Outlook
2010插件(Add-in)
?

轉(zhuǎn)自:?http://guofblog.blog.163.com/blog/static/168088614201062455332296/
--
http://guofblog.blog.163.com/blog/static/168088614201062455332296/


這篇文章,我將通過(guò)一個(gè)簡(jiǎn)單的例子,給大家分享一下如何在VS 2010中開(kāi)發(fā)和部署Outlook
2010的插件(Add-in)



首先,我要說(shuō)一下什么是插件(Add-in)

插件一般是對(duì)現(xiàn)有程序的擴(kuò)展,微軟的Office系統(tǒng)公開(kāi)了一套接口,可以很方便地讓開(kāi)發(fā)人員基于這些接口去實(shí)現(xiàn)對(duì)Office應(yīng)用程序的增強(qiáng)。這個(gè)接口,準(zhǔn)確地說(shuō),就是Extensibility.IDTExtensibility2.


當(dāng)然,除了Office,有很多應(yīng)用程序都支持類似的擴(kuò)展機(jī)制,例如IE,以及Visual
Studio本身,都支持一定程序的擴(kuò)展。



其次,我要說(shuō)一下以前是怎么開(kāi)發(fā)插件Add-in的

開(kāi)發(fā)Office插件(Add-in)的途徑有各種各樣的,我大致總結(jié)分為三類:


VBA
開(kāi)發(fā):這個(gè)是基于Visaul Basic for
Application這套開(kāi)發(fā)模型做的一些定制。這種定制的限制比較多一些,但開(kāi)發(fā)難度相對(duì)來(lái)說(shuō)更加低一些。做過(guò)VBA開(kāi)發(fā)的朋友都知道,VBA是脫離不了應(yīng)用程序本身的。例如Excel的VBA編輯器如下圖所示


VC++,Visual
Basic開(kāi)發(fā):這種開(kāi)發(fā)方式允許我們?cè)赩C++,或者VB
6中,直接實(shí)現(xiàn)Extensibility.IDTExtensibility2這套接口,并且可以更加靈活,做更加強(qiáng)大的一些定制。目前的Office應(yīng)用程序中,默認(rèn)就安裝好了的一些插件,都是這種方式做的。例如下圖是我的Outlook默認(rèn)安裝的一些插件列表


【備注】很早之前,我也用VB 6做過(guò)這方面的開(kāi)發(fā)。但現(xiàn)在基本連VB
6的安裝程序都找不到了。所以這里就不截圖了,其實(shí)就是有一個(gè)項(xiàng)目模板,然后實(shí)現(xiàn)接口。開(kāi)發(fā)這種插件,關(guān)鍵在于對(duì)Office本身內(nèi)部的一些對(duì)象模型熟悉。


VSTO開(kāi)發(fā):所謂VSTO,全稱是Visual
Studio Tools for Office.我記得是從VS 2003開(kāi)始提供了VSTO
1.0,簡(jiǎn)而言之,就是允許在.NET的開(kāi)發(fā)環(huán)境中開(kāi)發(fā)Office應(yīng)用程序或者插件。這種方式有著顯而易見(jiàn)的好處,就是能力增強(qiáng),因?yàn)榭梢杂玫?NET的整套框架。VSTO發(fā)展到現(xiàn)在有幾個(gè)版本,分別如下

VS 2003: VSTO 1.0
VS 2005: VSTO 2.0
VS 2008: VSTO 3.0
VS 2010:
VSTO 4.0


VSTO
之前的版本有一些不太好的地方是部署,不要小看部署這個(gè)環(huán)節(jié)。如果你曾經(jīng)花了很多精力寫出來(lái)了一個(gè)很好的插件,但是因?yàn)楦魇礁鳂拥牟渴饐?wèn)題導(dǎo)致沒(méi)有辦法很順利地分發(fā)給你的用戶,那種感覺(jué)是很讓人沮喪的。VSTO的解決方案有相當(dāng)多的一些環(huán)境依賴,另外還需要提升.NET中的安全策略等等。

一個(gè)好消息是,現(xiàn)在的新版本中,開(kāi)發(fā)和部署將是相對(duì)更加容易了。在開(kāi)發(fā)方面,模板更加好用,也提供了對(duì)Ribbon的內(nèi)置支持,部署方面,我們可以通過(guò)ClickOnce技術(shù)發(fā)布到網(wǎng)站,或者打包成一個(gè)vsto壓縮包文件,很容易地進(jìn)行部署。本文我們就來(lái)用一個(gè)簡(jiǎn)單例子進(jìn)行說(shuō)明。
然后,我們來(lái)看看在新版的開(kāi)發(fā)工具中,如何快速高效地開(kāi)發(fā)插件(Add-in)

作為演示,我主要側(cè)重于開(kāi)發(fā)和部署的流程。我們要實(shí)現(xiàn)的一個(gè)插件,其場(chǎng)景比較簡(jiǎn)單:


我們需要在Outlook中添加一個(gè)新的Ribbon按鈕,該按鈕點(diǎn)擊之后,可以彈出一個(gè)窗口,允許我們從Excel文件中導(dǎo)入聯(lián)系人



那就讓我們開(kāi)始吧


第一步:創(chuàng)建一個(gè)Add-in項(xiàng)目


這個(gè)項(xiàng)目模板會(huì)自動(dòng)創(chuàng)建下面的項(xiàng)目結(jié)構(gòu)



【備注】在ThisAddin這個(gè)類中,可以很方便地訪問(wèn)到Outlook的當(dāng)前實(shí)例,只要使用如下的代碼即可

this.Application


第二步:添加一個(gè)Ribbon

我們需要為Outlook添加一個(gè)新的Ribbon按鈕,事實(shí)上這很容易做到。



我們選擇Ribbon(Visual Designer),這樣就可以在可視化界面中設(shè)計(jì)了



我們首先需要設(shè)置一下,這個(gè)Ribbon是在什么地方要顯示。在下圖中,我們將RibbonType修改為Microsoft.Outlook.Explorer,這樣的意思是說(shuō),我們這個(gè)Ribbon是現(xiàn)在在Outlook默認(rèn)的那個(gè)管理器窗口中的



接下來(lái),我們可以添加一個(gè)按鈕到group1中去。工具箱中有很多可用的控件



我最好做好的Ribbon看起來(lái)像下面這樣




第三步:實(shí)現(xiàn)簡(jiǎn)單的邏輯

接下來(lái),我們可以為這個(gè)按鈕實(shí)現(xiàn)簡(jiǎn)單的邏輯


通過(guò)雙擊該按鈕,會(huì)產(chǎn)生一個(gè)事件處理器



我簡(jiǎn)單地實(shí)現(xiàn)代碼如下

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(); } } }


第四步:調(diào)試

完成如上的操作之后,一個(gè)最簡(jiǎn)單的Add-in就做好了。那么如何進(jìn)行調(diào)試呢?


沒(méi)錯(cuò),直接按F5就可以進(jìn)行調(diào)試了。此時(shí),Outlook會(huì)自動(dòng)打開(kāi),然后我們的Ribbon也確實(shí)能看到了



點(diǎn)擊該按鈕,我們也確實(shí)可以看到一個(gè)窗口被顯示出來(lái)了



同時(shí),我們?cè)贠utlook的選項(xiàng)對(duì)話框中也能看到這個(gè)插件的信息




第五步:發(fā)布

如果我們?cè)诒緳C(jī)做好了調(diào)試,那么如何分發(fā)給用戶呢?以前我們一般會(huì)制作一個(gè)MSI的安裝程序,現(xiàn)在你依然可以這么做。但我今天主要介紹的是一種更加方便的部署方式,就是通過(guò)ClickOnce技術(shù)發(fā)布到網(wǎng)站或者文件夾中。





【注意】這里的location是可以有下面幾種的。但我這里保持默認(rèn)的選擇,直接發(fā)布到一個(gè)文件夾


發(fā)布如果沒(méi)有遇到什么錯(cuò)誤的話,會(huì)生成下面的一個(gè)目錄



我們一般可以將這個(gè)目錄,打包給用戶即可。



第六步:安裝

接下來(lái),用戶如果拿到了這些文件,應(yīng)該如何安裝使用呢?其實(shí)也很簡(jiǎn)單,它可以雙擊setup.exe,或者設(shè)置直接雙擊vsto文件也可以


一般情況下,會(huì)有一個(gè)提示。



點(diǎn)擊“install”



然后,我們?cè)偃ゴ蜷_(kāi)Outlook的話,仍然是可以看到這個(gè)Add-in以及它所添加的Ribbon的



第七步:卸載

最后,如果用戶需要卸載這個(gè)插件,應(yīng)該怎么做呢?


他們可以在Programs and
Features窗口中,找到這個(gè)插件,然后點(diǎn)擊“Uninstall”即可
























總結(jié)

通過(guò)本文的簡(jiǎn)單實(shí)例,大家可以了解到在VS 2010中開(kāi)發(fā)Outlook
2010插件相比較之前而言,有了很大的一些改進(jìn)。當(dāng)然,VS 2010也可以開(kāi)發(fā)Office 2007版本的插件。



淘寶面試題:如何充分利用多核CPU,計(jì)算很大的List中所有整數(shù)的和(轉(zhuǎn))

歷史上的今天




相關(guān)文章




最近讀者





登錄后,您可以在此留下足跡。

floating

neusoftr

qdechoch


machoe

sh_l_sun

toto_80

cxgeng19

uiryangm



評(píng)論






點(diǎn)擊登錄|昵稱:




取消
驗(yàn)證碼:換一張






上一頁(yè) 1...
-1-1-1-1-1-1-1...
-1下一頁(yè)






總結(jié)

以上是生活随笔為你收集整理的[转】:VS 2010 : 如何开发和部署Outlook 2010插件(Add-in)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。