使用一个功能区文件的Outlook加载项功能区选项卡和ContextMenu项

时间:2014-12-18 15:06:27

标签: vb.net outlook contextmenu ribbon-control

我目前有一个Outlook加载项,其中包含一个带有按钮(Designer)的功能区组,并且一切正常。我有一个contextmenuItem,我通过功能区设计器(XML)添加了类似的东西:

上下文菜单按钮:

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
  <contextMenus>
  <contextMenu idMso="ContextMenuMailItem">
    <button id="MyContextMenuMailItem"
    label="Record To History"
    onAction="OnMyButtonClick"/>
  </contextMenu>
  </contextMenus>
</customUI>

功能区标签:

<?xml version="1.0" encoding="UTF-8"?>
<customUI onLoad="Ribbon_Load" xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <ribbon>
        <tabs>
            <tab idMso="TabMail" insertAfterMso="GroupContactFind">
                <group id="RollbaseSettingsGroup" label="Rollbase Settings">
                    <button id="MyButton" onAction="MyButton_Click" label="MyButton" size="large" />
                </group>
            </tab>
        </tabs>
    </ribbon>
</customUI>

我可以单独使用我的功能区而不指定下面的代码,但我的ContextMenu没有显示,我可以让我的ContextMenu单独工作,但我的功能区代码没有显示。你能告诉我哪里出错了,这样我就可以同时显示上下文菜单和功能区。

代码:

' This will allow the contextmenuItem to appear on an email Item
    Protected Overrides Function CreateRibbonExtensibilityObject() As Microsoft.Office.Core.IRibbonExtensibility
        Return New ContextMenuRibbon() 'This only does the contextmenu
    End Function

现在我想将此contextmenuitem添加到我当前的Ribbon Item代码中,以便我可以一次访问这两个代码。有关如何实现这一目标的任何建议? 我已阅读此内容并完成了所有内容here,但唯一的区别是我的Ribbon是Ribbon Designer,而ContextMenuItem是Ribbon XML。

1 个答案:

答案 0 :(得分:0)

您需要将两个XML部分合并为一个部分:

<?xml version="1.0" encoding="UTF-8"?>
<customUI onLoad="Ribbon_Load" xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
    <tabs>
        <tab idMso="TabMail" insertAfterMso="GroupContactFind">
            <group id="RollbaseSettingsGroup" label="Rollbase Settings">
                <button id="MyButton" onAction="MyButton_Click" label="MyButton" size="large" />
            </group>
        </tab>
    </tabs>
</ribbon>
<contextMenus>
   <contextMenu idMso="ContextMenuMailItem">
      <button id="MyContextMenuMailItem"
              label="Record To History"
              onAction="OnMyButtonClick"/>
    </contextMenu>
 </contextMenus>
 </customUI>