View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Peter T Peter T is offline
external usenet poster
 
Posts: 5,600
Default Dictator program question

Try this in a workbook that should be in Dictator mode

Private Sub Workbook_Activate()
DicatorMode False
End Sub

Private Sub Workbook_Deactivate()
DicatorMode True
End Sub

If your code is in an addin use withevents at application or workbook level
to trap when a dictator wb is active or not.

FWIW the value of argTrueFalse does not seem intuitive in relation to the
name of the function, whatever.

Regards,
Peter T

"xp" wrote in message
...
Hi,

I'm using Office 2007 on Windows XP; I have coded a dictator program that
incorporates similar code to the following (I say similar because I have
tweaked it somewhat and it is sort of complex to describe concisely here):

Private Function DicatorMode(argTrueFalse As Boolean)
'ExecuteExcel4Macro portion by Jim Rech; other code Nick hodge;
With Application
.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon""," & argTrueFalse & ")"
.CommandBars("Status Bar").Visible = argTrueFalse
If argTrueFalse = False Then .Caption = "User Mode" Else .Caption = ""
.ShowWindowsInTaskbar = argTrueFalse
End With
ActiveWindow.View = xlNormalView
ActiveWindow.WindowState = xlMaximized
End Function

The problem is, when this code runs, if the user opens a new XL file, in
the
same instance, it is also in dictator mode, but then my shortcut menus are
unavailable, thus locking the user in a "stray" file with no way out.

Is there a way to alter the code to prevent this from happening?