1

我正在尝试做世界上最简单的事情——Automator 中的基本迭代器。工作流程如下:

获取变量的值(初始设置为 1)

运行 Applescript:

on run {input, parameters}
    set input to input + 1
    return input
end run

设置变量的值

环形

它第一次工作,按预期从 1 移动到 2。但它在第二遍失败,给出错误

无法将 {} 设为类型号。(-1700)

我不知道为什么 - 我已经尝试将它作为整数从 Applescript 输出,它没有任何区别。任何人都可以解释一下吗?

4

1 回答 1

0

您的错误是因为在您的工作流程的第二个循环中,您的 AppleScript 没有收到任何输入。我猜你的循环函数没有接收任何输入,因此它没有将任何内容传递回applescript。你的applescript和循环函数之间的任何东西都必须以某种方式干扰。

作为替代方案,试试这个作为你的applescript。您的自动化工作流程应该只有 2 个操作,这个 applescript 代码和循环操作设置为“使用当前结果......”。

在这段代码中,在第一个循环中,applescript 不会有任何输入,因此它会要求您输入,然后在后续循环中,applescript 将从循环操作接收输入,因此它将增加您的初始输入。

祝你好运。

on run {input, parameters}
    if input is {} then
        display dialog "Enter a number" default answer "1"
        set input to (text returned of result) as number
    else
        set input to input + 1
    end if
    return input
end run
于 2013-04-06T23:19:22.473 回答