**** ThisWorkbook Module *****
Private Sub Workbook_BeforeClose(Cancel As Boolean)
KillBar
End Sub
Private Sub Workbook_Open()
MakeBar
End Sub
**** New Code Module *****
Option Explicit
Public Const TempAuditBar = "Temp Audit Bar"
Public Const MyPassword = "integrity"
Sub MakeBar()
Dim NewMenu As CommandBar
Dim Ctrl As CommandBarControl
Dim i As Integer
KillBar
Set NewMenu = Application.CommandBars.Add(TempAuditBar, msoBarFloating, False, True)
With NewMenu
.Controls.Add Type:=msoControlButton, ID:=486
.Controls.Add Type:=msoControlButton, ID:=452
.Controls.Add Type:=msoControlButton, ID:=451
.Controls.Add Type:=msoControlButton, ID:=450
.Controls.Add Type:=msoControlButton, ID:=453
End With
For Each Ctrl In NewMenu.Controls
Ctrl.OnAction = ThisWorkbook.Name & "!TP"
Next
With NewMenu
.Visible = True
.Protection = msoBarNoChangeVisible
End With
End Sub
Sub TP()
ThisWorkbook.ActiveSheet.Unprotect MyPassword
Select Case Application.CommandBars.ActionControl.ID
Case 486
Selection.ShowPrecedents
Case 452
Selection.ShowPrecedents Remove:=True
Case 451
Selection.ShowDependents
Case 450
Selection.ShowDependents Remove:=True
Case 453
ActiveSheet.ClearArrows
End Select
ThisWorkbook.ActiveSheet.Protect MyPassword
End Sub
Sub KillBar()
On Error Resume Next
Application.CommandBars(TempAuditBar).Delete
On Error GoTo 0
End Sub
|