【问题标题】:Automator: How do I use the Choose from List action?Automator:如何使用从列表中选择操作?
【发布时间】:2012-07-11 12:12:04
【问题描述】:

我正在尝试使用仅调用 textutil convert 的 Automator 创建一个服务。最终,我希望能够右键单击 docx 文件并转换为文本、rtf、html 等。右键单击后,我想要一个非常简单的弹出窗口,询问所需的格式。

我看到“从列表中选择”操作。它没有选项。在某个地方,我想到了将“从列表中选择”的输入设为“获取指定文本”。然后我尝试将我的值列表放入获取指定文本中。但是,当我运行它时,我只得到一条线。我试过每行一个项目,逗号分隔,空格分隔,甚至用花括号括起来,用逗号分隔。没有任何效果。

如何让选择器对话框显示我的所有选项?另外,有没有办法将选择限制为一个项目?

谢谢!

【问题讨论】:

    标签: macos automator


    【解决方案1】:

    这是在列表中只选择一个的解决方案。

    删除(“获取指定文本”和“从列表中选择”)操作。

    添加“运行 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
    

    【讨论】:

    • 我最喜欢这个答案,因为它能够限制列表。谢谢!
    【解决方案2】:

    诀窍是使用 AppleScript 变量!

    其他建议的答案有效,但最简单和最直接的方法是使用 AppleScript 变量来定义列表选项。

    文本变量只能存储一项纯文本,但 AppleScript 变量可以构造为数组,这正是定义列表所需要的。

    1. Variables 库中的 Utilities 下,将 AppleScript 变量添加到“从列表中选择”操作上方的工作流中。

    2. 编辑变量选项并将其脚本定义为文本字符串数组,其中包含所需的选项列表。

    【讨论】:

      【解决方案3】:
      1. 删除“获取指定文本”操作。

      2. 在“从列表中选择”操作上方添加“运行 AppleScript”操作。

      3. 在“运行 AppleScript”操作中,剪切文本并复制/粘贴此文本。

        on run {}   
           set theList to {"TXT", "RTF", "RTFD", "HTML"}
           return theList 
        end
        

      【讨论】:

      • 这个实际上回答了这个问题,而不是另一种选择。
      【解决方案4】:

      您需要将文本分解为项目列表,这是 从列表中选择 所期望的输入。您可以使用 Filter Paragraphs 操作来分解文本,例如返回非空的段落

      您没有提及您正在运行什么操作系统,但 Lion 在文本操作中添加了使用富文本的功能 - 不幸的是,如果大多数操作实际上获得富文本,则它们不会按预期工作。在 Lion 中,您可以通过使用类似 Run Shell Script 操作的方式来利用一些(隐藏的)输入项强制(您不需要在其中添加任何额外内容,只需使用默认值) ,它传递项目)以从 Get Specified Text 操作转换富文本。

      从列表中选择操作有全部按钮,但无法选择指定的一组项目.编写 Automator 操作相当容易,因此滚动您自己的 textutil 包装器将是另一种选择。

      【讨论】:

        【解决方案5】:

        还有两个 Automator Actions 也可以解决这个问题。

        一个是分割文本,它允许您选择特定的分隔符来分割文本。

        另一个是Get Words of Text,它允许您只获取作为输入传递的文本的单个单词。

        如果您没有这些操作,可以从这里获取:

        https://itunes.apple.com/us/app/text-automator-actions-pack/id448838274?mt=12

        【讨论】:

          猜你喜欢
          • 2017-08-24
          • 1970-01-01
          • 2016-03-14
          • 1970-01-01
          • 1970-01-01
          • 2014-07-18
          • 2017-04-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多