1.定義一些全局變量
Dim Obj_Toolbar As CommandBar’代表工具欄的變量
Dim Obj_Menu As CommandBarPopup’代表菜單的變量
Dim Obj_Toolbar_button As CommandBarButton’代表菜單項和按鈕的變量
2.編制生成工具欄和菜單的子程序
Sub addbutton()’創(chuàng)建工具欄和菜單并設置屬性的子程序
_deletebutton’調(diào)用刪除工具欄和菜單的子程序
Set Obj_Toolbar = Application.CommandBars.Add("My_Custom_Bar")’新建工具欄,“My_Custom_Bar”代表工具欄的名稱
Set Obj_Menu = Obj_Toolbar.Controls.Add(Type:=msoControlPopup, ID:=1)’在工具欄上新建下拉菜單,“ID:=1”代表該工具欄的功能由用戶自定義,下同
With Obj_Menu’設置下拉菜單的屬性
.Caption = "風格切換"’設置標題
.BeginGroup = True’設置分組
End With
Set Obj_Toolbar_button = Obj_Menu.Controls.Add(Type:=msoControlButton, ID:=1)’新建菜單項,下同
With Obj_Toolbar_button’設置菜單項的屬性,下同
.Caption = "標準風格"
.BeginGroup = True
.OnAction = "Standard_Style"’設置單擊菜單項執(zhí)行的子程序名稱
End With
Set Obj_Toolbar_button = Obj_Menu.Controls.Add(Type:=msoControlButton, ID:=1)’新建其他的菜單項,并設置屬性
With Obj_Toolbar_button
.Caption = "簡單風格"
.BeginGroup = True
.OnAction = "Simple_Style"
End With
Set Obj_Toolbar_button = Obj_Menu.Controls.Add(Type:=msoControlButton, ID:=1)
With Obj_Toolbar_button
.Caption = "繪圖和制表風格"
.BeginGroup = True
.OnAction = "Draw_Table_Style"
End With
Set Obj_Toolbar_button = Obj_Toolbar.Controls.Add(Type:=msoControlButton, ID:=1)’新建工具欄按鈕
With Obj_Toolbar_button’設置按鈕的屬性
.Caption = "關于"
.Style = msoButtonIconAndCaption
.FaceId = 984
.OnAction = "Show_Msg"
End With
With Obj_Toolbar’設置工具欄的屬性
.Visible = True’工具欄可視
.Enabled = True’工具欄可用
.Position = msoBarTop’工具欄置頂
End With
Set Obj_Menu = Application.CommandBars("Menu Bar").Controls.Add(Type:=msoControlPopup, ID:=1)’在Word XP的主菜單中新建菜單,“Menu Bar”代表Word XP主菜單的名稱
With Obj_Menu’設置新建菜單的屬性
.Caption = "風格切換"
End With
Set Obj_Toolbar_button = Obj_Menu.Controls.Add(Type:=msoControlButton, ID:=1)’在新建菜單中添加菜單項,下同
With Obj_Toolbar_button’設置新建菜單項的屬性,下同
.Caption = "標準風格"
.BeginGroup = True
.OnAction = "Standard_Style"
End With
Set Obj_Toolbar_button = Obj_Menu.Controls.Add(Type:=msoControlButton, ID:=1)’新建其他的菜單項,并設置屬性
With Obj_Toolbar_button
.Caption = "簡單風格"
.BeginGroup = True
.OnAction = "Simple_Style"
End With
Set Obj_Toolbar_button = Obj_Menu.Controls.Add(Type:=msoControlButton, ID:=1)
With Obj_Toolbar_button
.Caption = "繪圖和制表風格"
.BeginGroup = True
.OnAction = "Draw_Table_Style"
End With
End Sub
3.編制刪除工具欄和菜單的子程序
Sub _deletebutton()’刪除工具欄和菜單的子程序
Dim tempbar As CommandBar’定義臨時工具欄變量
On Error Resume Next’該語句用于忽略錯誤
Application.CommandBars("Menu Bar").Reset’重新設置Word XP的主菜單,即刪除新建的菜單
For Each tempbar In Application.CommandBars’通過“For Each…Next”語句遍歷Word XP所有的工具欄
If tempbar.name = "My_Custom_Bar" Then’如名稱和新建的工具欄相同
tempbar.Visible = False’設置為不可視
tempbar._delete’刪除該工具欄
End If
Next
End Sub
|