我正在尝试使用Automator创建一个只调用textutil convert的服务。最后,我希望能够右键单击一个docx文件并转换为文本,rtf,html等。在我右键单击后,我想要一个非常简单的弹出窗口,询问所需的格式。
我看到“从列表中选择”操作。它没有选择。在某个地方,我想到了从列表中选择的输入是获取指定文本。然后我尝试将我的值列表放在Get Specified Text中。但是,当我运行它时,我只得到一行。我已经尝试了每行一个项目,逗号分隔,空格分隔,甚至用花括号括起来,用逗号分隔。什么都行不通。
如何让选择器对话框显示我的所有选项?另外,有没有办法将选择限制为一个项目?
谢谢!
答案 0 :(得分:11)
以下是在列表中仅选择一个行的解决方案。
删除(“获取指定文字”和“从列表中选择”)操作。
添加“运行AppleScript脚本”操作。 1-剪切操作中的文本。 2-在操作中复制/粘贴此文本。
on run
choose from list {"TXT", "RTF", "RTFD", "HTML"} with prompt "Please make your selection" without multiple selections allowed and empty selection allowed
return the result as string
end run
答案 1 :(得分:3)
其他建议的答案有效,但最简单,最直接的方法是使用AppleScript变量来定义列表选项。
文本变量只能存储一个纯文本项,但AppleScript变量可以构造为数组,这正是您定义列表所需的。
在变量库中,在实用程序下,拖动 AppleScript 变量进入“从列表中选择”操作上方的工作流程。
编辑变量选项并将其脚本定义为文本字符串数组,其中包含所需的选项列表。
答案 2 :(得分:1)
1)删除“获取指定文字”操作。
2)在“从列表中选择”操作上方添加“运行AppleScript ”操作。
3)在“运行AppleScript ”操作中,剪切文本并复制/粘贴此文本。
on run {}
set theList to {"TXT", "RTF", "RTFD", "HTML"}
return theList
end
答案 3 :(得分:0)
您需要将文本拆分为项目列表,这是从列表中选择期望的输入。您可以使用过滤段落操作来分解文本,例如返回非空的段落。
您没有提到正在运行的操作系统,但Lion添加了在文本操作中使用Rich Text的功能 - 遗憾的是,如果实际获得Rich Text,大多数操作都无法正常工作。在Lion中,您可以通过使用类似运行Shell脚本的操作来利用某些(隐藏的)输入项强制(您不需要在其中添加任何额外内容,只需使用默认值,通过项目传递来转换获取指定文本操作中的Rich Text。
从列表中选择操作包含所有或无按钮,但无法选择指定的一组项目。编写Automator操作相当容易,因此滚动自己的textutil包装器将是另一种选择。
答案 4 :(得分:0)
还有两个Automator动作也可以解决这个问题。
其中一个是 拆分文字 ,可让您选择某个分隔符来拆分文字。
另一个是 获取文字 ,这样您就可以获得作为输入传递的文字的单个单词。
如果您没有这些操作,可以从这里获取:
https://itunes.apple.com/us/app/text-automator-actions-pack/id448838274?mt=12