Change Shortcut Key Programatically

J

John

Hi,

Does anyone know if you can change a macro's shortcut key programatically?

If for instance I've already assign a macro to fire on CTRL+SHIFT+E, how
could I change it to fire on say CRTL+SHIFT+T instead?

Have a good weekend

John
 
T

Tom Ogilvy

Highlight the macro in Tools=>Macro=>Macros and hit the Options button.
Make the assignment there.
 
J

John

Hi Tom,

Thanks for this. I'm aware of this manual method, but was wondering if
there is a way of doing this programatically?

Best regards

John
 
M

Max Potters

Try recording a macro for this.


John said:
Hi Tom,

Thanks for this. I'm aware of this manual method, but was wondering if
there is a way of doing this programatically?

Best regards

John
 
T

Tom Ogilvy

Application.MacroOptions Macro:="DoRand", _
HasShortcutKey:=True, ShortcutKey:="Z"as an example. -- Regards,Tom
 
J

John

Max,

Thanks, very sensible of course! The result is this:

Sub ChangeShortCut()

Application.MacroOptions Macro:="Macro3", _
ShortcutKey:="T"

End Sub

This I guess leads to another question.............how would I go about
"reading" (printing) a list of all existing macro shortcuts?

Thanks again

John
 
M

Max Potters

Hi John,

Im glad that helped you, but I dont really understand what you mean about
"reading" (printing) a list of all existing macro shortcuts.

Do you mean, that you would like to know which shortcuts are already in use?

Max
 
J

John

Sorry maybe I being too short in the details. What I'm trying to do is
program a set of programable keys (www.x-keys.com**) to fire various macros
within an Excel application. You've both helped out with the assigning
shortcut keys, but what I was hoping to do is to assign something like a
"key code" (ie CTRL+SHIFT+1+2+3) so that it does pick up another incorrect
shortcut by mistake. The only other complication is that I want the users
(who have German / French keyboard layouts) to be able to use the same
sequences (hence the desire for a key code).

I guess I could write a quick procedure that would run when the workbook was
opened, assigning the correct shortcuts to the macros within the workbook?
What do you both think? Can you recommend a better approach?

Thanks to you both

John





**The X-Keys keypad works by assigning any combination of keystrokes to a
particular programable key.
 
M

Max Potters

John, Im working on a solution for you, it might take me a while, but ill
post it later

Max
 
M

Max Potters

John,

I think i have found something for you. When the workbook opens, I putted
code there which makes sure that on certain macro's, a shortcut key is
assigned, like you wanted ctrl+shift+1 for example.*
You can change this code easily, and if you have questions about the
attachment ask me. I will send it to your email address, so mind to check
your spam folder (if you have any). This attachment will be called "John"

Hope this helpes, please reply if it's ok.

Regards
Max (16)
the netherlands
 
M

Max Potters

John, do you have another email address? I keep getting messages that my
accachment couldnt be delivered.

PLease give me another address..

Max
 
Top