Because I lend a lot of my worksheets. I don't want the
users to over ride the macro commands with shortcut keys.
I tried using OnKey method but I have to write a macro for
each shortcut. So I thought, the easiest way to do it is
to have a macro command to temporary disable these keys
when they are using my worksheets.
...
In other words, you want to force your own interface on your helpless users and
allow them no means whatsoever of modifying it to suit their needs or
preferences.
There are Windows API calls to trap any keystroke combination, and there are
other Windows API calls to detect which application should be receiving those
keystrokes. It's possible (but *VERY* difficult) to intercept certain keystrokes
for a particular application using a Windows service.
As for any way to do this in Excel itself, you'd need to use macros even to
attempt it, and macros are easy to disable. So, no, there's not secure way to do
this in Excel itself.
Wisdom comes from learning how to accomodate an existing design. All too often
that wisdom is only gained from failed attempts to supercede existing designs.