【问题标题】:No longer able to paste into dialog boxes created in automator. Mojave 10.14.5不再能够粘贴到 automator 中创建的对话框中。莫哈韦 10.14.5
【发布时间】:2019-06-28 15:10:34
【问题描述】:

我已经构建了数百个 Automator 脚本,允许用户将剪贴板数据粘贴到对话框中。我现在正在运行 Automator 版本 2.9 (444.42) 和 Mac OS 10.14.5,并且无法再执行此操作。

  1. 创建一个简单的应用程序
  2. 使用Ask for text 并在Automator 中运行应用程序,我可以成功地将剪贴板中的文本粘贴到对话框中。
  3. 如果我保存此内容并尝试从 finder 启动此应用程序,我可以在此对话框中输入内容,但无法粘贴。

数据点:我过去编写的应用程序继续在这台机器上工作(即,它们接受粘贴的文本)。

新编写的应用程序不会。

【问题讨论】:

    标签: automator


    【解决方案1】:

    此 AppleScript 代码适用于我使用最新版本的 macOS Mojave。

    在 Automator 中测试您的困境后,我也遇到了同样的问题。不过,我确实想出了一个似乎对我有用的解决方法。

    在 Script Editor.app 中,将以下 AppleScript 代码粘贴到新文档中并调整代码以满足您的需要。接下来,将此脚本编辑器文档保存为应用程序。

    activate
    set theAnswer to text returned of (display dialog "Answer This Question" default answer ¬
        "" buttons {"Cancel", "OK"} default button 2 cancel button 1 with title ¬
        "Ask For Text" with icon 1 giving up after 20 without hidden answer)
    
    set the clipboard to theAnswer
    

    请务必添加此新应用,以允许在系统偏好设置 > 安全和隐私 > 隐私 > 辅助功能和全盘访问菜单项中控制您的计算机。

    现在不要在 Automator 工作流程中插入“询问文本”命令,而是添加“启动应用程序”命令并选择您刚刚在脚本编辑器中创建的新应用程序。现在由于 AppleScript 代码,它将对话框中输入的文本的结果复制到剪贴板...您现在可以将结果作为变量传递到 Automator 工作流程的其余部分。

    将 Automator 工作流程保存为应用程序并在 Automator 之外运行新应用程序后,我能够成功地将文本粘贴到对话框中。



    更新 选项 2

    如果您将 Automator 工作流程保存为应用程序,则以下选项将不起作用。如果您将包含“询问文本”命令的 Automator 工作流程保存为工作流程而不是应用程序,则可以直接从菜单栏中的脚本菜单运行 Apple 脚本或 Automator 工作流程(无需启动 Automator 或脚本编辑器运行文件)。 此选项将允许您粘贴到“询问文本”对话框中。

    为此,您需要确保在 Script Editor.app 的 General Preferences 中选中“在菜单栏中显示脚本菜单”选项。

    为了能够直接在脚本菜单栏中访问这些脚本和工作流,需要将它们保存到此文件夹... /Users/YOUR SHORT NAME/Library/Scripts

    我将所有 Apple 脚本和 Automator 工作流程保存在一个特定位置,该位置不在我的 /Users/YOUR SHORT NAME/Library/Scripts 文件夹中。我更喜欢在上下文菜单中使用 Finder 的“制作别名”命令来制作脚本或工作流程的别名文件,然后将该别名文件移动到我的 /Users/YOUR SHORT NAME/Library/Scripts 文件夹中。这样,我的所有脚本都保留在它们首选的原始位置,我可以随时删除别名文件,而原始文件保持不变。

    您可以轻松找到正确的文件夹来放置脚本或工作流文件或这些文件的别名,如下图所示。

    下一个动画展示了现在直接从脚本菜单运行工作流是多么容易。将文件作为工作流程而不是应用程序运行的好处是,只要 Automator 被授予在系统偏好设置中控制您的计算机的访问权限……就无需经历授予在 Automator 中创建的每个应用程序的过程, 访问权限。

    【讨论】:

    • 这很聪明,如果我是一个人操作会很合适。我正在构建的应用程序会在公司范围内使用,所以我可能会得到一台莫哈韦之前的专用机器并将其用于我的最终构建
    • @RichCraig 我添加了一个带有第二个选项的更新,效果非常好,这应该避免您不得不“获得一个莫哈韦之前的专用机器并将其用于我的最终构建”
    • 原来它只是通过 Command-V 粘贴,这不适用于 Mojave。虽然不是那么直接,但您可以右键单击并选择粘贴,它会用剪贴板填充对话框。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    • 2017-04-01
    相关资源
    最近更新 更多