日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Outlook Add-in(COM加載項)技術指南(四)

系統 2480 0

Outlook Add-in(COM加載項)技術指南

Revision History:

Version

Date

Creator

Description

1.0.0 .1

2004-3-9

鄭昀

草稿

2.3.2 . g_oForwardBHandler_Click 事件

這個按鈕的名稱是“轉發”.

?

這個對話框中的內容將根據您選中的上下文而定,更詳細內容參見下面章節。簡 單的說,我們將根據您選中的項是郵件,還是便箋,或者日程,或者聯系人,智能顯示發送內容。

?

“聯系人列表”將從您的 Outlook 聯系人中讀取。

?

?

第一個問題,如何確定當前用戶選中的項是什么類型,郵件,還是聯系人?

首先我們通過

Set oSelection = g_oExplorer.Selection

得到當前用戶所選擇的項。

如果 oSelection Nothing ,那么表明用戶沒有選中任何東西。

然后,用

For Each oItem In oSelection

遍歷這個 Selection 集合。這個集合中的每一個對象都應該是一個 Item 對象。我們可以通過這個 Item 對象的“ MessageClass ”屬性獲知它是什么。它可能是:

? ???????? IPM.Note ??????????? 郵件

? ???????? IPM.Contact ????????????? 聯系人

? ???????? IPM.StickyNote ? 便箋

? ???????? IPM.Appointment ???? 日程

?

對于不同類型 Item 對象,我們獲取它的不同屬性。

代碼如下所示:

' ------------------------------------------------------------------

??? '

??? ' 如果選中了一項:

??? ' ?? 那么首先判斷是否是一封郵件,即 oItem.MessageClass "IPM.Note"

??? '

??? For Each oItem In oSelection

?????? ? If oItem.MessageClass = "IPM.Note" Then

???????????

??????????? ' get the current mail item

????????? ?? Dim oCurMail As Outlook.MailItem

??????????? Set oCurMail = oItem

???????????

??????????? szContent = " 主題: " & oCurMail.Subject & vbCrLf

???????????? ???????????

??????? ' ?? 那么其次判斷是否是一個聯系人,即 oItem.MessageClass "IPM.Contact"

?????? ? ElseIf oItem.MessageClass = "IPM.Contact" Then

???????????

??????????? ' get the current mail item

??????????? Dim oCurContact As Outlook.ContactItem

? ?????????? Set oCurContact = oItem

???????????

???????????? ???????????

??????? ' ?? 那么其次判斷是否是一個便箋,即 oItem.MessageClass "IPM.StickyNote"

????? ?? ElseIf oItem.MessageClass = "IPM.StickyNote" Then

???????????

??????????? ' get the current note item

??????????? Dim oCurNote As Outlook.NoteItem

??????????? Set oCurNote = oItem

???????????

???????????? ???????????

??????? ' ?? 那么其次判斷是否是一個日程,即 oItem.MessageClass "IPM.Appointment"

?????? ? ElseIf oItem.MessageClass = "IPM.Appointment" Then

???????????

??????????? ' get the current appointment item

??????????? Dim oCurAppo As Outlook.AppointmentItem

??????????? Set oCurAppo = oItem

??????? ????

??????????? End If

???????

??? Next

?

2.4. 處理屬性頁事件

VB 中,我們需要編寫 NameSpace 對象和 Application 對象的 OptionsPageAdd 事件,來增加一個我們自定制的屬性頁,如下所示:

?

2.4.1 . g_oNS_OptionsPagesAdd 事件

它隸屬于 NameSpace 對象。當用戶單擊我們正在監控的名稱區的文件夾,然后選擇了“屬性”時,將觸發 NameSpace 對象的 OptionPagesAdd 事件。

本事件有兩個參數,含義是:

n ???????? Pages ?????????? Outlook 屬性頁的一個集合;

n ???????? Folder ?????????? 它是用戶正試圖檢索其屬性的文件夾。

?

首先,通過調用

Set oNewPage = CreateObject("TomosoftP.AdminPage")

創建對象,這是一個我們編寫的 ActiveX 控件,實際上就是添加到 PropertyPages 集合中的子例程的屬性頁。

?

其次,為我們創建的屬性頁傳遞默認數值。

然后,通過把自身對象的引用進行:

oNewPage.oAdmin = Me

將我們加載項的對象自身傳遞給新的屬性頁,因為這樣才可以,當屬性頁上的屬性被更改之后,允許 ActiveX 控件回調到加載項中。

?

最后,通過

Pages.Add oNewPage

將新的頁面添加到 PropertyPages 集合中。 Pages 是輸入參數。

?

[ 版權聲明:

第二章部分文字引用自《 Programming Microsoft Outlook and Exchange 》一書,該書作者 Thomas Rizzo ,特此聲明 ]

Disclaimers

Programmer’s Blog List

博客堂

小氣的神

飛鷹手記 ? 飛鷹手記之 .NET 專版

蟈蟈俊

思歸

[MVPLeader] Grace Zhang

豆腐

跟隨大象的舞步

Don Box's Blog

Eric.Weblog()

The .NET Guy

Blogs@asp.net

?

本文檔僅供參考。本文檔所包含的信息代表了在發布之日, zhengyun 對所討論問題的當前看法, zhengyun 不保證所給信息在發布之日以后的準確性。

?



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=12757


Outlook Add-in(COM加載項)技術指南(四)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 岗巴县| 乌拉特前旗| 大城县| 抚顺县| 延长县| 沿河| 蓬安县| 邯郸县| 潞城市| 昌图县| 专栏| 娱乐| 叙永县| 远安县| 临沂市| 吉林市| 克拉玛依市| 台东市| 辰溪县| 固原市| 洪江市| 乐都县| 南乐县| 革吉县| 江阴市| 永胜县| 开化县| 宜君县| 太原市| 双鸭山市| 安塞县| 沙雅县| 根河市| 通化市| 德惠市| 保定市| 柞水县| 兴义市| 旬邑县| 罗定市| 池州市|