粘贴到 Word 时,AppleScript 将 Enter/NewLine 添加到剪贴板

AppleScript adds Enter/NewLine to clipboard when paste into Word

我目前正在尝试为我的 Touchbar 编写 AppleScript,它会将预定义的变量复制到剪贴板,然后将其粘贴到 word 文档中。

好吧,它确实有效,但出于某种原因,除了粘贴可变文本外,它还向其中添加了一个 Enter/NewLine。 现在我已经做了一些测试,只是将纯文本直接分配给剪贴板,NewLine 仍然存在,所以它不是变量。我还测试了 Cmd+V 输出,而且当我之后手动粘贴文本时,它仍然用回车粘贴它,所以看起来分配有问题。但是由于我是 AppleScript 的新手而且这种语言真的很奇怪,所以我真的不明白我在这里做错了什么。这是重要的代码部分:

activate application "Microsoft Word" --I'm doing this, but you prolly don't need to.
set Donnerstag12 to "Anwendungsentwicklung"
set the clipboard to Donnerstag12
tell application "System Events" to keystroke "v" using {command down}

现在我只注意到,当我让 AppleScript 粘贴到 Pages、TextEdit 或直接粘贴到代码中时,它不包含换行符。有什么想法吗?

这一定是 Word 使用其 "Smart Cut & Paste" 选项所做的事情,尽管我在 Word 2011 中没有看到该行为。您可以在高级高级设置中更改该行为。当您粘贴到 Word 中时,您也可以只更改脚本以删除段落标记。

activate application "Microsoft Word" --I'm doing this, but you prolly don't need to.
set Donnerstag12 to "Anwendungsentwicklung"
set the clipboard to Donnerstag12
tell application "System Events"
    keystroke "v" using {command down}
    if name of (first process whose frontmost is true) is "Microsoft Word" then key code 51
end tell

您可以使用 Microsoft Wordtype text 命令。

set Donnerstag12 to "Anwendungsentwicklung"
tell application "Microsoft Word" to type text selection text Donnerstag12