1

所以我注意到 CommandBars 默认出现在 Outlook 2010 的 tabAddIns 中。有什么办法可以让它们出现在我的自定义功能区选项卡中?

如果这是不可能的或非常具有挑战性的,我欢迎提出更简单的方法来实现类似的东西。

4

3 回答 3

2

您可以使用功能区设计器创建自定义功能区选项卡,并将您的 CommandBar 项目移动为功能区按钮。

可以找到一个不错的例子http://msdn.microsoft.com/en-us/library/bb386104.aspx

于 2011-05-11T01:30:10.963 回答
1

您无法控制 CommandBar 按钮的位置。这是 Outlook(实际上是 Office 的其余部分)的“兼容性支持”功能,仅用于允许较旧的插件继续运行并使其成为可访问的按钮。如果您的目标是 2010,您通常应该避免使用旧的 CommandBar* 对象,而是使用功能区自定义。

于 2011-05-11T14:14:38.563 回答
1

如果您需要 Office 2007/2003 支持(我认为这是您拥有命令栏​​的原因),那么您最好检查正在运行的 office interop dll 的 MajorVersion。

然后你可以做类似的事情:

string majorVersionString = Globals.ThisAddIn.Application.Version.Split(new char[] { '.' })[0];
int majorVersion = Convert.ToInt32(majorVersionString);
if (majorVersion < 14)
{
    //Register CommandBar
}

然后还创建一个以 OutlookExplorer 功能区为目标的功能区。因为只有 Office 2010 会请求该功能区类型,所以它只适用于 Office 2010。

有关如何创建功能区 xml 功能区的信息,请参阅http://msdn.microsoft.com/en-us/library/bb398246.aspx 。您所追求的功能区 ID 是Microsoft.Outlook.Explorer. 有关扩展 Outlook 资源管理器功能区的更多信息,请访问http://msdn.microsoft.com/en-us/library/ee692172.aspx#OfficeOLExtendingUI_Explorer

编辑: 有关多目标多个 Office 版本的更多信息,请访问http://blogs.msdn.com/b/vsto/archive/2010/06/04/creating-an-add-in-for-office-2007-and -office-2010-that-quot-lights-up-quot-on-office-2010-mclean-schofield.aspx

于 2011-05-16T05:29:07.657 回答