在使用VS生成程序时,自定义功能区在Outlook中未出现

23

我按照这篇教程操作,但在Visual Studio中构建并运行我的项目时,没有出现一个选项卡。如果有帮助的话,我正在使用Outlook 2010。


3
你正在创建哪种类型的“Ribbon”(XML或设计器)?你提供的链接是有关如何将自定义任务窗格与“Ribbon”集成的教程。你应该首先参考“Ribbon Overview”以了解关于“Ribbon”的详细信息。 - SliverNinja - MSFT
我正在使用功能区设计器。教程仍然会引导您完成创建功能区的过程,就像功能区向导一样。是否需要在ThisAddIn类中添加任何代码才能使其显示出来? - xxyyxx
1
在构建项目时是否出现了任何错误消息?还是根本没有出现? - woodykiddy
你需要提供更多关于你已经尝试过的代码等细节,以便获得有用的帮助。 - Olle Sjögren
可能是重复问题 https://dev59.com/K2ox5IYBdhLWcg3wSCjk - mas_oz2k1
7个回答

80

原来你需要将 ribbontype 属性设置为 Microsoft.Outlook.Explorer 才能显示出它来。这不是该字段的默认值,并且似乎没有任何 MSDN 教程告诉你要进行这样的更改。


1
欧明...有些地方是有意义的,但我认为在教程中提供一点帮助提示不会让他们感到太痛苦,我想badumts - Erik Mueller
这个建议对我不起作用,因为在那个带有复选框的列表中没有 Microsoft.Outlook.Explorer 项目(默认情况下有 Microsoft.Outlook.Mail.Read 项目)。使用 Outlook 2010、VS 2008 SP1、Office 2007 模板。 - Alex
实际上,可以通过手动编辑SyncRibbon.Designer.cs(this.RibbonType = "Microsoft.Outlook.Explorer";)中的InitializeComponent方法来解决这个问题,但是这似乎是一种肮脏的hack,因为此方法不适用于手动编辑。 - Alex

6

4
如果您的代码之前使用了Ribbon XML机制,然后切换到Ribbon Designer机制,但不慎保留了CreateRibbonExtensibilityObject覆盖,则也可能出现这种情况。
protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
{
  return new MyRibbon(); 
}

一旦您取消此覆盖,Ribbon Designer自定义将按预期加载。

太棒了!谢谢,这就是我的问题。 - David
谢谢,这解决了一个问题,但又引发了另一个问题:我的自定义上下文菜单(右键单击下拉菜单)不再起作用了。有什么想法吗? - Rob van Meeuwen
@RobvanMeeuwen,也许你的自定义菜单是在旧的Ribbon.XML中定义的,需要移动到你的Ribbon Designer代码中? - Reg Edit
谢谢您的回复@RegEdit,但我已经找到了解决方法。我只是在MyRibbon.xml中添加了自定义选项卡的xml代码。我摆脱了设计师版本,现在一切都很顺利。 - Rob van Meeuwen

4

enter image description here

在右侧,您将看到属性。

enter image description here

请选择您打算使用的带子类型。

非常感谢,@Eduards。多年来我已经多次使用过这个功能,但是忘记了在功能区设计器中点击正确的区域来获取这个设置。你的回答帮了我很多。 - undefined
很高兴能帮到你,@Simmam :) - undefined

3

旧帖子,但没有给我答案。在我的情况下,由于没有明确的原因,增加组件在一些开发时间后简单地不再显示。

解决方法是在Excel中重新启用AddIn。可能是其中一个时候,Excel询问我“Excel与此AddIn有问题,是否禁用它?”(F5部署时偶尔出现)。

要重新启用它,请转到Excel ->文件 ->选项 -> AddIns


3

如果您要将您的功能区映射到新邮件撰写选项卡,则必须选择正确的ribbontype属性,此时应选择Microsoft.Outlook.Explorer.Compose;如果您要将其映射到阅读邮件,则应选择Microsoft.Outlook.Explorer.Read,以此类推。


1

如果之前您运行的解决方案出现错误,可能会导致某个Office应用程序仍在后台运行并阻止显示插件。停止VisualStudio,检查任务管理器中是否有孤立的Office进程,并结束这些进程。


我觉得这可能是我的情况所在问题。因为我运行了除Excel以外的许多Office程序,所以重启机器可以解决问题。 - Janman

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