Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Dictator program question
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? |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
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? |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Dictator program question
An alternative is to open the dictator in a new instance of Excel, and
prevent other workbooks from opening in this instance. Prevent other workbooks from opening by setting the Ignore Other Applications setting to True: Application.IgnoreRemoteRequests = True Open the dictator in its own instance: not so easy. There are a couple different ways. 1. Have users double click a desktop shortcut (icon) to start it. Shortcut runs a small VB6 exe that creates a new Excel object then loads the dictator workbook. This has the benefit of bypassing the macro warning. 2. Routine in dictator's Workbook_Open code that detects whether other windows are open and visible, and if so it opens a new instance and reopens itself in that instance. I recall that there was a trick to this one, and unfortunately I can't find the project now where I did this. - Jon ------- Jon Peltier, Peltier Technical Services, Inc. http://PeltierTech.com/WordPress/ Advanced Excel Conference - Training in Charting and Programming http://peltiertech.com/Training/2009...00906ACNJ.html _______ "Peter T" <peter_t@discussions wrote in message ... 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? |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Dictator program question
"Jon Peltier" wrote in message
<snip 2. Routine in dictator's Workbook_Open code that detects whether other windows are open and visible, and if so it opens a new instance and reopens itself in that instance. I recall that there was a trick to this one, and unfortunately I can't find the project now where I did this. Not sure if there's any particular trick, simply re-open itself in a new automated instance, then close itself in the current instance. It would end up being read-only, which may or may not be a problem. I posted a quick example here. http://tinyurl.com/dxgzbb Regards, Peter T |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Dictator Apps and Excel 2007 | Excel Programming | |||
Dictator App | Excel Discussion (Misc queries) | |||
Making a [semi] Dictator Application: Hiding Main Command Bar? | Excel Discussion (Misc queries) | |||
Making a [semi] Dictator Application: Hiding Main Command Bar? | Excel Programming | |||
Program question | Excel Programming |