john c. j.
john c. j.

Reputation: 1175

Insert Tab character into Word

I'm trying to create a script, which will insert Tab character into Word.

Quick note: I've also tested it in OpenOffice. So if you haven't Word, you may test it in OpenOffice or, probably, LibreOffice Writer.

If you are familiar with Word, you know that if you press Tab key on a blank line, you get the Word-like indentation, instead of inserting real Tab char.

enter image description here

Here is attempt to fix it:

$Tab::
old := ClipboardAll
Sleep, 1000 ; Just for testing. If I remove this line, the error still
            ; occurs, but much more randomly.
Clipboard := "  " ; Tab character
ClipWait
SendInput, ^v
KeyWait, Tab
Clipboard := old
return  

The problem is, that sometimes (when I press Tab quickly), it is inserted an old content of the clipboard, instead of Tab.

I've tried to use ClipWait, KeyWait, Sleep, InstallKeybdHook in different combinations.

Maybe someone knows what's the problem here and how it can be solved?

Upvotes: 0

Views: 863

Answers (1)

Jim U
Jim U

Reputation: 3366

Sends tab without triggering indent in word

SetTitleMatchMode 2
#IfWinActive Microsoft Word
$tab:: sendinput .{tab}{left}{backspace}{right}

If I'm understanding you correctly, a better solution might be to turn off this feature with Options > Proofing > Autoformat as you type > Set left and first indent with tabs and backspaces (see here)

Upvotes: 2

Related Questions