我正在编写一个小脚本(我在 AutoHotKey 中的第一个脚本)将带有语法高亮的 Notepad++ 代码复制到 OneNote。它的工作原理是首先按下“将 HTML 复制到剪贴板”条目,将其粘贴到一个新的 MSWord 文档中并再次从那里剪切,因此结果现在在剪贴板中。
直接将 HTML 复制到 OneNote 不起作用,因为那里忽略了换行符(Microsoft 的问题,而不是 notepad++。看这里:http ://tech.lanesnotes.com/2012/05/pasting-code-to-onenote-with -formatting.html)。但是如果你将它复制到 Word 而不是 OneNote,它突然就可以工作了......
我的问题:到目前为止,我编写的代码有效,但前提是 Word 之前运行过。如果它必须首先启动,则脚本将失败并且仅在新的 Word 文档中打印一个“n”。我非常感谢任何可以帮助我的人。
编辑 2:我忘了提:我使用的是德语版的 Notepad++ 和 Word,所以按下的键可能不适合您... -> 将第一个发送更改为 !p (英文)。
;This script is used to copy notepad++-Syntax-Higlighting
;to clipboard in a format OneNote can read.
SetTitleMatchMode 2
#c::
IfWinActive, Notepad++
{
send !p
send n
send {Right}
send c
send c
send {Enter}
Run winword.exe
WinWaitActive, Microsoft Word
WinActivate
send ^v
send ^a
send ^x
WinClose
send n
}
SetTitleMatchMode 1
return
PS.:如果您喜欢此功能,请随意使用此代码。如果您有更好的想法或建议如何使其变得更好,请告诉我。