返回表示 Microsoft FrontPage 所显示的菜单和工具栏的 CommandBars 对象。
使用命令栏不可以访问 FrontPage 特有的弹出式快捷菜单。例如,不能访问右键单击“网页”视图中的网页时所出现的快捷菜单。但是使用 CommandBar 对象的 ShowPopup 方法可以创建自己的弹出式快捷菜单。
下列三个过程在工具栏上设置新的菜单项。
过程 1:
Sub AddMenuItem()
Dim newMenu As CommandBarControl
Dim toolsMenu As CommandBar
Set toolsMenu = Application.CommandBars("Tools")
Set newMenu = _
toolsMenu.Controls.Add(msoControlButton, , , , True)
newMenu.Caption = "New &Menu Item"
End Sub
下一个过程将 Click 事件关联到自定义按钮上,而且必须将它添加到类或表单模块中。所显示的模块是表单模块。该过程在“工具”菜单上添加新项目,然后通过将变量 e_NewMenu
(用在 WithEvents
语句中)分配给自定义按钮变量 newMenu
来关联自定义按钮的事件。
过程 2:
Private Sub AddButton_Click()
Dim newMenu As CommandBarControl
Dim WithEvents e_NewMenu As CommandBarButton
Sub AddMenuItemWithEventHook()
Dim toolsMenu As CommandBar
Set toolsMenu = Application.CommandBars("Tools")
Set newMenu = _
toolsMenu.Controls.Add(msoControlButton, , , , True)
Set e_NewMenu = newMenu
newMenu.Caption = "New &Menu Item"
End Sub
Private Sub e_NewMenu_Click(ByVal Ctrl As _
Office.CommandBarButton, CancelDefault As Boolean)
MsgBox "Menu Item Clicked"
Ctrl.Caption = "Clicked"
End Sub
若要使用 CommandBars 集合来执行 FrontPage 的自定义菜单项,请将该菜单项进行索引,并调用该项目的 Execute 方法。下列示例在插入点处插入 Microsoft Office 电子表格控件。
过程 3:
Sub ExecuteMenu()
Dim I As String
Dim C As String
Dim O As String
I = "Insert"
C = "C&omponent"
O = "Office Sp&readsheet"
CommandBars(I).Controls(C).Controls(O).Execute
End Sub
下列示例返回当前站点中命令栏的各个属性的状态。
Private Sub GetCommandBars()
Dim myWeb As WebEx
Dim myCB As Object
Dim myCBCount As Integer
Dim myDisplayFonts As Boolean
Dim myDisplayKeysInToolTips As Boolean
Dim myLargeButtons As Boolean
Dim myMenuAnimationStyle As String
Set myWeb = ActiveWeb
Set myCB = Application.CommandBars
With myCB
myCBCount = .Count
myDisplayFonts = .DisplayFonts
myDisplayKeysInToolTips = .DisplayKeysInTooltips
myLargeButtons = .LargeButtons
myMenuAnimationStyle = .MenuAnimationStyle
End With
End Sub
下列示例在命令栏中循环并返回每个菜单的几个属性。
注意 若要运行本示例,请创建含有名为 txtComBar
的文本框以及名为 cmdComBar
的命令按钮的表单,然后将下列代码复制到代码窗口中。
Private Sub cmdComBar_Click()
Dim myWeb As WebEx
Dim myComBars As Object
Dim myComBar As Object
Dim myText As String
Dim myName As String
Dim myAdaptMenu As String
Dim myEnabledMenu As String
Dim myMenuHeight As String
Dim myMenuWidth As String
Set myWeb = ActiveWeb
Set myComBars = Application.CommandBars
myName = "Name: "
myAdaptMenu = "Menu Adaptive? "
myEnabledMenu = "Menu Enabled? "
myMenuHeight = "Menu Height: "
myMenuWidth = "Menu Width: "
txtComBar.Locked = True
txtComBar.maxLength = 10000
txtComBar.MultiLine = True
txtComBar.ScrollBars = fmScrollBarsVertical
With myComBars
For Each myComBar In myComBars
With myComBar
myText = myText & myName & .Name & vbCrLf
myText = myText & myAdaptMenu & .AdaptiveMenu & vbCrLf
myText = myText & myEnabledMenu & .Enabled & vbCrLf
myText = myText & myMenuHeight & .Height & vbCrLf
myText = myText & myMenuWidth & .Width & vbCrLf
txtComBar.Text = myText
End With
Next
txtComBar.SetFocus
txtComBar.CurLine = 0
End With
End Sub