AppleScript字数统计服务

时间:2009-09-07 05:35:35

标签: applescript osx-snow-leopard counting word-count

我正在尝试在OSX leopard中创建一个服务,用于计算所选文本的单词数。我将automator设置为运行AppleScript,其中包含以下内容:

on run {input, parameters}
        count words of input
        display alert "Words: " & input
        return input
end run

当我编译脚本时,它说它不能计算每个单词。我做错了什么?

感谢您的帮助,

埃利奥特

2 个答案:

答案 0 :(得分:4)

首先,我假设你在Automator中测试这个,那就是错误发生的地方?如果是这样,可能的问题是没有输入 - 所以它不能算什么的话。为了成功测试,您需要在运行AppleScript操作之前临时添加“获取指定文本”操作,并在该字段中输入一些测试文本。在将其用作实际服务之前,您必须删除“获取指定的文本”操作。

其次,你需要使用

count words of (input as string)

为了获得正确的计数,否则它将返回零。

答案 1 :(得分:3)

我在Github上做了一个:

https://gist.github.com/1616556

目前的来源是:

on run {input, parameters}
    tell application "System Events"
        set _appname to name of first process whose frontmost is true
    end tell
    set word_count to count words of (input as string)
    set character_count to count characters of (input as string)
    tell application _appname
        display alert "" & word_count & " words, " & character_count & " characters"
    end tell
    return input
end run

使用Automator.app创建新服务,然后选择“运行AppleScript”操作。将此代码粘贴到文本框中,并另存为Word和字符计数。现在切换到新应用程序,选择一些文本,然后打开上下文菜单以查找新选项。