对 Microsoft Office 命令栏进行更多编程
Frank C. Rice
Microsoft Corporation
Paul Cornell
Microsoft Corporation
2002 年 5 月 2 日
在上个月的专栏(英文)中,我向您介绍了“命令栏”,它们是在 Microsoft® Office 中使用的用户界面组件,使用户能够在 Office 应用程序中执行操作。根据您对上个月专栏的反馈,我将向您介绍一些用于解决命令栏特定问题的附加信息和代码,具体内容包括:
Microsoft Outlook® 如何以编程方式处理命令栏。
如何向命令栏按钮中添加自定义图像。
如何向命令栏中添加组合框。
如何禁用和隐藏命令栏以及命令栏控件。
如何定位命令栏。
如何动态添加和删除命令栏。
如何在给定的 Office 应用程序中列出命令栏和命令栏控件的通用属性。
命令栏和 Outlook 对象模型
在上个月的专栏中,我忘了告诉您 Microsoft Outlook 对象模型访问命令栏和命令栏控件的方式与其他 Microsoft Office 应用程序略有不同。
在除 Outlook 以外的应用程序中,您可以使用如下所示的代码访问命令栏:
Public Sub ListCommandBarNames()
' 用途:列出当前应用程序的所有命令栏名称。
' 注意:此代码对 Outlook 无效!
Dim objCommandBar As Office.CommandBar
For Each objCommandBar In Application.CommandBars
Debug.Print objCommandBar.Name
Next objCommandBar
End Sub
然而,尝试在 Outlook 中运行此代码将导致运行时错误。相反,您必须使用 Explorer 或 Inspector 对象的 CommandBars 属性,如下所示: