6

我有一个Outlook任务窗格,当您打开Outlook时打开并且我已经使用此方法添加了此窗格。将现有任务窗格添加到新邮件 - Outlook

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

我显示,并使用此处给出的示例隐藏任务窗格:

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

所以,这一点也适用电子邮件时的切换按钮,用户点击。但是,我在Outlook的“新建邮件”窗口中添加了另一个功能区控件,我希望在该窗口的一侧也可以使用该相同的任务窗格。我设法创建了另一个Ribbon控件(设计器)并添加了这个新按钮,但是当我切换它时,它并没有在新的邮件消息窗口上打开任务窗格。它只切换收件箱中可用的现有任务窗格窗口。

代码新邮件色带控制:

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 

我怎么能去这样做?

回答

2

按照MSDN您可以通过使用不同的ID对丝带添加多个色带 -

可以不止一个带状添加到项目中。如果多个Ribbon共享Ribbon ID,请覆盖项目的ThisAddin类中的CreateRibbonExtensibilityObject方法以指定在运行时显示哪个Ribbon。

用于这将是类似的功能 -

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

+0

什么会myCondition在我上面提到的情况? – Neophile

+0

我不认为你明白我的意思,基本上它是新邮件窗口中未显示的任务窗格。我的功能区控件按预期运行并正常工作。 – Neophile

+0

我道歉,一定误会了 - 看到这个链接https://msdn.microsoft.com/en-us/library/bb608622(v=vs.100).aspx或这一个https://msdn.microsoft.com /en-us/library/bb296010(v=vs.100).aspx –

相关问题