将现有的任务窗格添加到新邮件消息 - Outlook

5

我有一个Outlook任务窗格,当你打开Outlook时它会自动打开,我使用了这个方法来添加它。

https://msdn.microsoft.com/en-us/library/aa942846.aspx

我正在使用这里提供的示例来显示和隐藏任务窗格:

https://msdn.microsoft.com/en-us/library/bb608590.aspx

所以,当用户单击切换按钮时,它可以与电子邮件一起使用。但是,我在Outlook的新邮件消息窗口上添加了另一个缎带控件,并且我希望该任务窗格也可用于该窗口的侧面。我设法创建了另一个缎带控件(设计师),并添加了这个新按钮,但是当我切换它时,它不会在新邮件消息窗口上打开任务窗格。它只切换可在收件箱中使用的现有任务窗格窗口。
新邮件消息缎带控件代码:
Imports Microsoft.Office.Tools.Ribbon
Imports Outlook = Microsoft.Office.Interop.Outlook
Imports Microsoft.Office.Tools

Public Class ComposeSidebarRibbon

    Private Sub ComposeSidebarRibbon_Load(ByVal sender As System.Object, ByVal e As RibbonUIEventArgs) Handles MyBase.Load

    End Sub

    Private Sub SidebarToggleButton_Click(sender As Object, e As RibbonControlEventArgs) Handles SidebarToggleButton.Click
        Globals.ThisAddIn.TaskPane.Visible = TryCast(sender, Microsoft.Office.Tools.Ribbon.RibbonToggleButton).Checked
    End Sub
End Class

我该如何开始做这个?

1个回答

1
根据MSDN的说明,您可以通过为不同的功能区使用不同的ID来添加多个功能区 -
您可以在项目中添加多个功能区。如果多个功能区共享一个功能区ID,请在项目的ThisAddin类中覆盖CreateRibbonExtensibilityObject方法以指定运行时显示哪个功能区。
用于此操作的函数类似于 -
Protected Overrides Function CreateRibbonExtensibilityObject() As  _
    Microsoft.Office.Core.IRibbonExtensibility
    If myCondition = True Then
        Return Globals.Factory.GetRibbonFactory().CreateRibbonManager _
            (New Microsoft.Office.Tools.Ribbon.IRibbonExtension() _
                 {New Ribbon1()})
    Else
        Return Globals.Factory.GetRibbonFactory().CreateRibbonManager _
            (New Microsoft.Office.Tools.Ribbon.IRibbonExtension() _
                 {New Ribbon2()})
    End If
End Function

请参考MSDN参考文献HERE

在我上面提到的情况下,我的条件会是什么? - Neophile
我认为你没有理解我的意思,基本上是在新邮件消息窗口中未显示任务窗格。我的功能区控件表现和预期一样正常工作。 - Neophile
非常抱歉,可能我误解了 - 请查看此链接 https://msdn.microsoft.com/zh-cn/library/bb608622(v=vs.100).aspx 或者这个 https://msdn.microsoft.com/zh-cn/library/bb296010(v=vs.100).aspx - AlwaysConfused
好的,我认为第一个链接似乎是我需要的,但是我能在第二个功能区控件上执行不同的操作吗? - Neophile

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接