全部显示

程序工具栏和菜单栏

   

Microsoft Access 中包含命令栏,即可编程的工具栏菜单栏。通过命令栏可以为应用程序创建自定义工具栏和菜单。

只有设置对 Microsoft Office 对象库的引用后,才能对命令栏进行编程。为此,可在模块的“设计”视图中,单击“工具”菜单上的“引用”,并选中“Microsoft Office Object Library”复选框。

CommandBars 集合包含应用程序中已有的所有命令栏。使用 CommandBars 集合的 Add 方法,可以向 CommandBars 集合中添加 CommandBar 对象。例如,下面的代码可用来新建一个名为 MyCommandBar 的命令栏。请注意,要看到整个新添加的命令栏,需要将它的 Visible 属性设为 True

Dim cmb As CommandBar
Set cmb = Application.CommandBars.Add("MyCommandBar")
cmb.Visible = True

每个 CommandBar 对象都有一个 CommandBarControls 集合,该集合包含命令栏上的所有控件。命令栏控件不同于窗体上的控件。可以创建多种类型的命令栏控件,包括按钮、组合框和弹出式菜单,并使用这些命令栏控件创建自定义工具栏或菜单栏。

若要引用 CommandBarControls 集合,可以使用 CommandBar 对象的 Controls 属性。要向命令栏上添加控件,可使用 CommandBarControls 集合的 Add 方法,并指定所要创建的控件类型。下面的示例用于向前一个示例所创建的命令栏中添加一个新的按钮:

Dim cbc As CommandBarControl
Set cbc = cmb.Controls.Add(msoControlButton)
cbc.Caption = "Button1"
cbc.Style = msoButtonCaption

可以指定用户单击命令栏控件时要计算的表达式或要运行的。请将 OnAction 设为宏的名称,或设为包含内置函数或用户定义函数的表达式。例如,下面的代码行将 CommandBarControl 对象的 OnAction 属性设为包含 MsgBox 函数的表达式。其中使用了前两个示例中创建的 CommandBarCommandBarControl 对象。

CommandBars("MyCommandBar").Controls("Button1").OnAction = "=MsgBox(""Wow!"")"

注意   与 Microsoft Access 中其他大部分集合不同,CommandBars 集合及其包含的所有集合都从 1(而不是从 0)开始编制索引。