Private Sub Workbook_AddinInstall()
Dim SubMenu As Object
Set SubMenu = Application.CommandBars("Worksheet Menu Bar").Controls("ツール(&T)").Controls.Add
With SubMenu
.Caption = "グリッド ON/OFF"
.OnAction = "gChangeGrid"
End With
End Sub
Private Sub Workbook_AddinUninstall()
On Error Resume Next
Application.CommandBars("Worksheet Menu Bar").Controls("ツール(&T)").Controls("グリッド ON/OFF").Delete
End Sub
次に標準モジュールを追加して、以下を入力します。
Public Sub gChangeGrid()
ActiveWindow.DisplayGridlines = Not ActiveWindow.DisplayGridlines
End Sub
■Workbook_AddinInstall()
Dim SubMenu As Object
オブジェクト変数の宣言です。
Set SubMenu = Application.CommandBars("Worksheet Menu Bar").Controls("ツール(&T)").Controls.Add
メニューバーのツール(&T)の一番下に項目を1個追加します。
.Caption = "グリッド ON/OFF"
メニューに表示される文字列を設定します。
.OnAction = "gChangeGrid"
枠線の表示/非表示を切り替える処理が書いてあるプロシージャ名を設定します。
■Workbook_AddinUninstall()
Application.CommandBars("Worksheet Menu Bar").Controls("ツール(&T)").Controls("グリッド ON/OFF").Delete
メニューバーのツール配下から「グリッド ON/OFF」を削除します。
■gChangeGrid()
ActiveWindow.DisplayGridlines = Not ActiveWindow.DisplayGridlines
NotによってON/OFF切り替えを行っています。