I'm almost certain that there's not built-in way to change shortcuts in MS Office applications.
However, you can use AutoHotkey for this purpose.
The script
^a::
^f::
^s::
WinGet, Process, ProcessName, A
if(RegExMatch(Process, "^(WINWORD|EXCEL)\.EXE$"))
{
if(A_ThisHotKey = "^a")
SendPlay, ^e
if(A_ThisHotKey = "^f")
SendPlay, ^b
if(A_ThisHotKey = "^s")
SendPlay, ^g
}
else
SendPlay, %A_ThisHotKey%
return
How it works
-
^a::, specifies one of the hotkeys that run the script before the return statement, where ^ indicates the Ctrl key.
-
WinGet, Process, ProcessName, A stores the active (A) window's process name in the variable Process.
-
if(RegExMatch(Process, "^(WINWORD|EXCEL)\.EXE$")) {...} else ... checks if Process matches the regular expression, i.e., if it matches one of the strings WINWORD.EXE or EXCEL.EXE.
-
If so, the first block gets executed.
-
if(A_ThisHotKey = "^a") checks if the pressed hotkey is Ctrl + A.
If it is, it simulates the key bombination Ctrl + E, which is the Portuguese hotkey to select all1.
-
Otherwise, SendPlay, %A_ThisHotKey% simulates the key combination that was initially pressed.
This way, other applications still behave as they should.
How to use
-
Download and install the latest version of AutoHotkey.
-
Save the above script as ms-office.ahk, using your favorite text editor.
-
Double-click the file to run the script.
-
If you wish, copy the script (or a link to it) in the Startup folder.
-
To add further MS Office applications, just modify the regular expression.
To add PowerPoint, e.g., replace (WINWORD|EXCEL) by (WINWORD|EXCEL|POWERPNT).
-
To add further hotkeys, you have to modify two parts of the script.
To add Ctrl + O (Open...), e.g., add the line ^o:: to the list at the very
(Réponse tronquée)