从Outlook COM AddIn功能区按钮单击打开自定义窗体区域

时间:2013-11-07 20:38:45

标签: forms vsto outlook-addin outlook-2010

如何从功能区按钮单击事件激活自定义类表单区域?实质上,执行与Outlook Home相同的功能 - >新商品 - >自定义表单 - >我的表格名称。

我开发了一个向用户展示表单的COM AddIn。它是IPM.Note类的单独表单区域。但是现在我已经使用“Replace-all”将其分解并给出了自己的类名,我不确定如何从Ribbon类Button1_Click事件处理程序实例化该表单。

我很难找到代码示例来演示这个细节。

如果这是对项目集合的Add(“IPM.MyClassName”)调用,我不确定如何编写它。

2 个答案:

答案 0 :(得分:0)

以下代码适用于从功能区按钮单击事件创建用户表单的实例。

Public Sub Button1_Click(ByVal control As Office.IRibbonControl)
    Dim oApp As Outlook.Application = Globals.ThisAddIn.Application
    Dim oNs As Outlook.NameSpace = oApp.GetNamespace("MAPI")
    Dim oInbox As Outlook.MAPIFolder = _
        oNs.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox)
    Dim oItems As Outlook.Items = oInbox.Items
    Dim oForm As Outlook.MailItem = oItems.Add("IPM.MyMessageClass")
    oForm.Display(False)
End Sub

答案 1 :(得分:0)

这个看起来更干净:

Public Sub Button1_Click(ByVal control As Office.IRibbonControl)
    Dim Items As Outlook.Items = _
        Globals.ThisAddIn.Application.ActiveExplorer.CurrentFolder.Items
    Dim Item As Object = Items.Add("IPM.MyMessageClass")
    Item.Display()
End Sub

当您的FormRegion实际上并不依赖于该文件夹时,这个文件夹会缩短几行。