【问题标题】:AppleScript adds Enter/NewLine to clipboard when paste into WordAppleScript 在粘贴到 Word 时将 Enter/NewLine 添加到剪贴板
【发布时间】:2017-06-18 15:51:52
【问题描述】:

我目前正在尝试为我的 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 或直接粘贴到代码中时,它不包含 NewLine。有什么想法吗?

【问题讨论】:

    标签: ms-word applescript newline clipboard enter


    【解决方案1】:

    您可以使用 Microsoft Wordtype text 命令。

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

    【讨论】:

    • 很好,有多少种输入文字的方法?击键、键码和类型文本?我之前尝试过击键,但由于 A 在 Caps 中,它之后也确实在 Caps 中写了一些字母,因为某种原因。但是输入文本似乎工作正常。谢谢!
    • type text 是仅用于 Word 应用程序的命令,keystrokekey code 是用于“系统事件” 应用程序。一些应用AppleScriptable是在光标位置插入文本的命令,这个命令的名称因应用而异。
    【解决方案2】:

    这一定是 Word 使用“智能剪切和粘贴”选项所做的事情,尽管我在 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
    

    【讨论】:

    • 哇,这简直是疯了,我刚刚注意到 Word 会用所有看起来像标题的东西来做这件事。浏览选项 atm,但我的希望很低..
    • “可能看起来像一个标题”是什么意思?你的意思是当你当前粘贴到标题样式时?为什么我的解决方法不起作用?
    • 我的意思是,例如,仅粘贴一个单词,而不是整个句子。此外,当仅粘贴 Mac 地址(仅用于测试)时,没有 NewLine。是的,您的解决方法确实有效,但我想在没有解决方法的情况下解决它;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-10
    • 2018-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多