Outlook Add-in(COM加载项)技术指南(四)
来源:互联网 发布:ubuntu qq拼音输入法 编辑:程序博客网 时间:2024/06/05 05:36
Outlook Add-in(COM加载项)技术指南
Revision History:
Version | Date | Creator | Description |
郑昀 | 草稿 |
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: |
[MVPLeader]Grace Zhang |
本文档仅供参考。本文档所包含的信息代表了在发布之日,zhengyun对所讨论问题的当前看法,zhengyun不保证所给信息在发布之日以后的准确性。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=12757
- Outlook Add-in(COM加载项)技术指南(四)
- Outlook Add-in(COM加载项)技术指南(四)
- Outlook Add-in(COM加载项)技术指南(四)
- Outlook Add-in(COM加载项)技术指南(四)
- Outlook Add-in(COM加载项)技术指南(四)
- Outlook Add-in(COM加载项)技术指南(二)
- Outlook Add-in(COM加载项)技术指南(三)
- Outlook Add-in(COM加载项)技术指南(一)
- Outlook Add-in(COM加载项)技术指南(三)
- Outlook Add-in(COM加载项)技术指南(一)
- Outlook Add-in(COM加载项)技术指南(二)
- Outlook Add-in(COM加载项)技术指南(一)
- Outlook Add-in(COM加载项)技术指南(三)
- Outlook Add-in(COM加载项)技术指南(二)
- Outlook Add-in
- Outlook Add-in
- Outlook 2007 Form Region add-in 可能会被加载两次
- Outlook add-in 插件.Net开发经验-补充(1)
- Outlook Add-in(COM加载项)技术指南(一)
- [Java] 利用Axis库调用C#的Web Service
- SQL Server BUG集之"自定义函数与group by"
- 结构或大内存块打包的办法(上2)
- 职场笔记[070928]: 这座墙是帮我们阻挡其它人的
- Outlook Add-in(COM加载项)技术指南(四)
- [VBS]转换二进制数据为字符串常用办法
- 用SQL语句来建立跟踪的问题
- 几天猎头生活的感想[3][ZT]
- Outlook Add-in(COM加载项)技术指南(三)
- 一些开源协议的说明, GPL BSD等等
- 查询重复记录
- 结构或大内存块打包的办法(下)
- groups-beta.google.com的蓄势待发