当我在Outlook 2010中启用“外出”自动消息时,“消息栏”中将填充警告文本。我想使用这样的功能来通知用户我已经启用了自己的功能,但是我找不到对以编程方式访问该栏的任何引用;我发现了一些有关状态栏的信息,但是由于某些原因,它在Outlook的VBA中不可用。
我什至不确定此功能的正确英文名称是“ message bar”;我指的是同一条,它在Word中用于通知用户文档是“危险的”,因为它来自互联网。 此消息栏是否在Outlook VBA中公开?
我还尝试寻找其他方法来通知用户,因此我开始研究功能区:如果可以显示自己的选项卡,则可以将其用作“消息栏”,但是功能区由Outlook管理的方式与其他Office不同程序,因此周围可用的大多数示例在Outlook中均不适用/不起作用。
我能够以编程方式创建一个选项卡并向其中添加一个按钮,但是后来我无法使该选项卡可见,因此它没有用。
我还尝试使用命令栏的“位置”属性:不仅是msoBarTop,还包括msoBarBottom或msoBarPopup,但是Outlook一直忽略了我的努力,所以我陷入了困境。
但是也许应该在一个单独的问题中解决使用VBA在Outlook中管理功能区(这里有一些问题,但是我找不到对我有用的提示;我无法访问VB VSTO)。
答案 0 :(得分:2)
您所指的区域用于实现Mail Tips。尽管您可以通过Exchange管理中心创建自定义项,但是它们不能通过代码进行交互。
实际上不建议使用功能区控件来显示状态或用户消息,因为功能区通常是静态的(菜单,下拉菜单和图库除外)。
如果您的目标是显示瞬态警报,则更好的方法是使用Windows SDK来显示Windows通知。如果将警报托管在Outlook中至关重要,请考虑使用“窗体区域”或带有“任务窗格”的加载项来显示您的消息。甚至是简单的VBA MessageBox或用户表单。
还请注意,您对CommandBar的使用实际上仅适用于Outlook 2007和更早版本-在新版本中没有更多的CommandBar,只有功能区。