我构建了数百个Automator脚本,这些脚本允许用户将剪贴板数据粘贴到对话框中。我现在正在运行Automator版本2.9(444.42)和Mac OS 10.14.5,无法再执行此操作。
Ask for text
并在Automator中运行应用程序,我可以将剪贴板中的文本成功粘贴到对话框中。 数据点:我过去编写的应用程序仍可在此计算机上运行(即,它们接受粘贴的文本)。
新编写的应用程序不会。
答案 0 :(得分: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)编辑器以运行文件)。 该选项将允许您粘贴到“问文本”对话框中。
要执行此操作,您需要确保在Script Editor.app的“常规首选项”中,选中了“在菜单栏中显示脚本菜单”选项。
要能够直接在脚本菜单栏中访问这些脚本和工作流,需要将它们保存到此文件夹... /用户/您的简短名称/库/脚本
我将所有Apple脚本和Automator工作流保存在特定的位置,该位置不在我的/ Users /您的简短名称/ Library / Scripts文件夹中。我更喜欢使用上下文菜单中的Finder的“ Make Alias”命令为脚本或工作流创建别名文件,然后将该别名文件移动到我的/ Users /您的简短名称/ Library / Scripts文件夹中。这样,我所有的脚本都将保留在其首选的原始位置,并且我可以随时删除别名文件,而保留原始文件。
您可以轻松地找到正确的文件夹来放置脚本或工作流文件,或这些文件的别名,如下图所示。
下一个动画显示了直接从脚本菜单运行现在的工作流程有多么容易。关于将文件作为工作流而不是应用程序运行的好处是,只要在系统偏好设置中授予Automator访问控制您的计算机的权限,就无需完成授予在Automator中创建的每个应用程序的过程。 ,访问权限。