Hello, Dean,
Everybody can have a bad day
I was thinking about you before putting on my machine and hoping you wouldn't miss the great resources of this Board due to some argueing. Apologise freely accepted.
this is a "tryout"reply
I've spent some time experimenting (again): the ideas might need some tweaking, but I hope this will be a resource of inspiration.
Some API-calls could possibly disable the scrollwheel, but that's not my best side. I can ask some guys ... But before "messing" whit the users settings - I would prefer a little more code or a "workaround" rather then using such techniques which can cause trouble (what if the programm crashes and the wheel is still disabled ?) I never needed to do that, although needed the same functionality...
Keep in mind that some users, whatever "protection" you put in your workbook, will find a way (maliciously or by accident) to circumvent it.
Assuming you need only
shapes on your startsheet (no text in cells), try this:
1. make cell A1 as large as an entire screen (columnwidth max = 255, rowheight max = 409)
2. hide all other rows and columns
3. hide scrollbars and row&columnheaders
4. create your autoshapes + assign macros
5. protect your sheet, while disabling "allow to select unlocked cells" as well as "locked cells" (if you have an Excelversion with those settings)
6. check zoomfactor
you could put some of these steps in a macro "resetSettings" to restore your settings at some given points (choose from list or invent some others
)
- when opening the workbook
- whenever a macro is run
- each minute
example of this macro
Code:
Sub showonlyA1()
Application.ScreenUpdating = False
ActiveSheet.Unprotect
With Range("A1")
.RowHeight = 409
.ColumnWidth = 255
Range("B1:B" & Columns.Count).EntireColumn.Hidden = True
Rows("2:" & Rows.Count).EntireRow.Hidden = True
End With
With ActiveWindow
.DisplayHeadings = False
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
.DisplayWorkbookTabs = False
.ScrollColumn = 1
.ScrollRow = 1
.Zoom = 100
End With
With ActiveSheet
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
.EnableSelection = xlNoSelection
End With
Application.ScreenUpdating = False
End Sub
best regards,
Erik
EDIT: thinking about this statement
I would like to find a way to disable the mouse scrollwheel.
isn't the real question:
I would like to find a way to disable the user from changing the view (or scrolling) ?