2

選択したテキストの単語数をカウントするサービスをOSXleopardで作成しようとしています。アップルスクリプトを実行するようにオートマターを設定しました。次のように設定します。

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

スクリプトをコンパイルすると、すべての単語をカウントできないと表示されます。私は何が間違っているのですか?

助けてくれてありがとう、

エリオット

4

2 に答える 2

4

まず第一に、あなたはAutomatorでこれをテストしていると思います、そしてそれはエラーが起こっているところですか?その場合、考えられる問題は入力がないことです。そのため、何もない単語を数えることができません。正常にテストするには、「AppleScriptの実行」アクションの前に「指定されたテキストの取得」アクションを一時的に追加し、そのフィールドにテストテキストを入力する必要があります。実際のサービスとして使用する前に、GetSpecifiedTextアクションを削除する必要があります。

第二に、あなたは使用する必要があります

count words of (input as string)

適切なカウントを取得するために、そうでない場合はゼロを返します。

于 2009-09-07T17:23:56.373 に答える
4

ここ、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の実行]アクションを選択します。このコードをテキストボックスに貼り付け、単語数と文字数として保存します。次に、新しいアプリに切り替え、テキストを選択し、コンテキストメニューを開いて新しいオプションを見つけます。

于 2012-01-15T17:50:35.740 に答える