Question

Je suis en train de créer un service de léopard OSX qui compte le nombre de mots du texte sélectionné. J'ai Automator configuré pour exécuter un AppleScript, avec ce qui suit mis en elle:

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

Quand je compile le script, il dit qu'il ne peut pas compter chaque mot. Qu'est-ce que je fais mal?

Merci pour l'aide,

Elliott

Était-ce utile?

La solution

Tout d'abord, je suppose que vous testez cela dans Automator, et c'est où l'erreur a lieu? Dans ce cas, le problème probable est qu'il n'y a pas d'entrée-il ne peut pas compter les mots de rien. Afin de le tester avec succès, vous devez ajouter temporairement une action « Get texte spécifié » avant que l'action Exécuter AppleScript et entrez un texte de test dans ce domaine. Vous devrez retirer Get spécifié l'action du texte avant de l'utiliser comme un service réel.

En second lieu, vous devez utiliser

count words of (input as string)

afin d'obtenir un bon nombre, sinon il retournera zéro.

Autres conseils

J'ai fait un ici, sur Github:

https://gist.github.com/1616556

La source de courant est:

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

Utilisez Automator.app pour créer un nouveau service, puis sélectionnez l'action Exécuter AppleScript. Collez ce code dans la zone de texte et enregistrer en tant que Word et Nombre de caractères. Maintenant, passer à une nouvelle application, sélectionnez un texte, et ouvrez le menu contextuel pour trouver la nouvelle option.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top