# trigger Word macro by pressing space bar (only). Don't want to use ctrl, F key, etc.

I have a search and replace macro that I recorded in Word.  To integrate it into the work flow, I'd like to trigger it by a press on the space bar without having to use the ctrl key, etc.  That way, if there is a replacement to be done, it will happen as I type rather than having to interrupt my typing to press a special key combination.

I know about autotext.  I don't like it.  My macro is also for inserting blocks of text as well as individual words.  It's easier to organize what I am doing with the VBA code rather than mix up my text replacement with all the autotext prefab stuff.

This feature would be used on my work computer which is locked down by IT and doesn't allow me to install .exe files.  But I can work within the Office VBA environment.  Or maybe Office applications can use another scripting or programming technique.
Microsoft ApplicationsMicrosoft Word

Last Comment
rreiss60

8/22/2022 - Mon
Paul Sauvé

If you use only the "space bar" as a macro shortcut, how do you intend to insert a space in your document? Every time you press the space bar, the macro will execute!
GrahamSkan

Shortcut keystrokes have to begin with Alt or Ctrl, so you could run a macro from some such combination. Not a space, though.

I have looked at the extra events that can be used by creating a WithEvents application object, but the closest is SelectionChange, which is not triggered when typing in characters.
rreiss60

I figure that if there is no text to replace, the macro may execute but there is no visible effect since the find part of the macro doesn't find anything.  I just go on typing.

I found this code, but instead of Alt + 0, what would I put in for spacebar?

' \\ Code for Module1
Option Explicit

With Application
' \\ Do customization in THIS document
.CustomizationContext = ThisDocument

' \\ Add keybinding to this document Shorcut: Alt+0
KeyCategory:=wdKeyCategoryCommand, _
Command:="TestKeybinding"
End With
End Sub

' \\ Code for Module2
Option Explicit

' \\ Test sub for keybinding
Sub TestKeybinding()
MsgBox "We have a winner", vbInformation, "Succes"
End Sub

My find and replace function would go in module 2.
All of life is about relationships, and EE has made a viirtual community a real community. It lifts everyone's boat
William Peck
rreiss60

Now I will put in my find and replace in module 2 instead of the msgbox.
rreiss60

Oops.  Need to disable keybinding after text replacement to restore normal spacebar function.  Any help appreciated.
rreiss60