在 Word 中插入制表符

Insert Tab character into Word

我正在尝试创建一个脚本,它将在 Word 中插入制表符。

快速说明:我还在 OpenOffice 中对其进行了测试。因此,如果您没有 Word,可以在 OpenOffice 或 LibreOffice Writer 中进行测试。

如果您熟悉 Word,就会知道如果在空白行上按 Tab 键,则会得到类似 Word 的缩进,而不是插入真正的 Tab 字符。

这里是修复它的尝试:

$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  

问题是,有时(当我快速按下 Tab 时),它会插入剪贴板的 old 内容,而不是 Tab。

我试过以不同的组合使用 ClipWait、KeyWait、Sleep、InstallKeybdHook。

也许有人知道这里的问题是什么以及如何解决?

发送制表符而不触发 word 中的缩进

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

如果我的理解正确,更好的解决方案可能是关闭此功能 选项 > 校对 > 键入时自动套用格式 > 使用制表符和退格键设置左缩进和第一个缩进(参见 here