程序工具欄和菜單欄

此頁沒有內(nèi)容條目
內(nèi)容

expandtri全部顯示

Microsoft Access 中包含命令欄,即可編程的工具欄菜單欄。通過命令欄可以為應(yīng)用程序創(chuàng)建自定義工具欄和菜單。

只有設(shè)置對 Microsoft Office 對象庫的引用后,才能對命令欄進行編程。為此,可在模塊的“設(shè)計”視圖中,單擊“工具”菜單上的“引用”,并選中“Microsoft Office Object Library”復(fù)選框。

CommandBars 集合包含應(yīng)用程序中已有的所有命令欄。使用 CommandBars 集合的 Add 方法,可以向 CommandBars 集合中添加 CommandBar 對象。例如,下面的代碼可用來新建一個名為 MyCommandBar 的命令欄。請注意,要看到整個新添加的命令欄,需要將它的 Visible 屬性設(shè)為 True

Dim cmb As CommandBar

Set cmb = Application.CommandBars.Add("MyCommandBar")

cmb.Visible = True

每個 CommandBar 對象都有一個 CommandBarControls 集合,該集合包含命令欄上的所有控件。命令欄控件不同于窗體上的控件??梢詣?chuàng)建多種類型的命令欄控件,包括按鈕、組合框和彈出式菜單,并使用這些命令欄控件創(chuàng)建自定義工具欄或菜單欄。

若要引用 CommandBarControls 集合,可以使用 CommandBar 對象的 Controls 屬性。要向命令欄上添加控件,可使用 CommandBarControls 集合的 Add 方法,并指定所要創(chuàng)建的控件類型。下面的示例用于向前一個示例所創(chuàng)建的命令欄中添加一個新的按鈕:

Dim cbc As CommandBarControl

Set cbc = cmb.Controls.Add(msoControlButton)

cbc.Caption = "Button1"

cbc.Style = msoButtonCaption

可以指定用戶單擊命令欄控件時要計算的表達式或要運行的。請將 OnAction 設(shè)為宏的名稱,或設(shè)為包含內(nèi)置函數(shù)或用戶定義函數(shù)的表達式。例如,下面的代碼行將 CommandBarControl 對象的 OnAction 屬性設(shè)為包含 MsgBox 函數(shù)的表達式。其中使用了前兩個示例中創(chuàng)建的 CommandBarCommandBarControl 對象。

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

注釋  與 Microsoft Access 中其他大部分集合不同,CommandBars 集合及其包含的所有集合都從 1(而不是從 0)開始編制索引。