Automator:从列表中选择并获取相应的变量值

时间:2015-05-01 17:17:57

标签: macos applescript automator

我是AppleScript的新手,但我确实掌握了Automator的一些基本知识。这就是我想要实现的目标:

  1. 在我的工作中经常使用一个简单的URL列表。像这样:
  2.   

    产品数据表:URL1

         

    许可:URL2

         

    价目表:URL3

         

    ...

         

    在大多数情况下,我在向客户发送邮件时使用这些URL,但有时我也会在其他应用程序中使用它们,例如Safari。所以服务应该是全球性的。

    1. 我需要服务提示我一个项目列表,其中每个项目都是链接的名称(如{"数据表","价目表",& #34;许可"等}}。

    2. 当我选择一个项目并单击“确定”时,该服务必须获取与该链接名称对应的URL,然后将其放入剪贴板,以便我可以在需要时使用它进行粘贴。

    3. 我按照此q& a Automator: How do I use the Choose from List action?中的建议并创建了第一个操作(运行AppleScript)。此外,我创建了许多变量和指定的名称和URL。即我将在服务中存储实际列表("数据库")。总共有30到50个链接/记录,所以我不需要外部Excel文件或其他东西。

      我无法弄清楚如何从变量中获取/获取URL。变量的获取值对我不起作用,因为它需要一个常量变量名作为输入。但是,我需要一个操作来接收来自Run AppleScript操作的输入,查找变量列表并获取URL,然后将生成的URL传递给Clipboard操作。

      感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

使用单个“运行AppleScript”操作创建自动机服务工作流程,其中包含以下代码:

set x to item 1 of (choose from list {"Product datasheet", "Licensing", "Price list"})
if x is "Product datasheet" then
    set the clipboard to "URL"
else if x is "Licensing" then
    set the clipboard to "Another URL"
else if x is "Price list" then
    set the clipboard to "Yet Another URL"
end if

要添加到此处,请添加到第一行的项目列表,复制else if行并对其进行编辑以检查新添加的项目,然后复制set the clipboard行并对其进行编辑这样它就包含了新的URL。

另外,请确保将工作流程设置为在“任何应用程序”中工作,并且还应将其设置为“无输入”。