Pregunta

Estoy intentando crear un servicio en OSX leopardo que cuenta el número de palabras del texto seleccionado. Tengo automator conjunto para ejecutar un AppleScript, con la siguiente puesta en él:

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

Cuando puedo compilar el guión, que dice que no puede contar cada palabra. ¿Qué estoy haciendo mal?

Gracias por la ayuda,

Elliott

¿Fue útil?

Solución

En primer lugar, supongo que está probando esto en Automator, y ahí es donde se está produciendo el error? Si es así, el problema probable es que no hay entrada-por lo que no puede contar las palabras de nada. Con el fin de probar con éxito, es necesario agregar temporalmente una acción "Obtener texto especificado" antes de la acción Ejecutar AppleScript, e introduzca algún texto de prueba en ese campo. Vas a tener que quitar la acción Get especificado texto antes de utilizarlo como un servicio real.

En segundo lugar, es necesario utilizar

count words of (input as string)

con el fin de obtener un conteo adecuado, de lo contrario, volverá a cero.

Otros consejos

Me hizo uno aquí, en Github:

https://gist.github.com/1616556

La fuente de corriente es:

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

Uso Automator.app para crear un nuevo servicio y, a continuación, seleccione la acción Ejecutar AppleScript. Pega este código en el cuadro de texto, y guardar como Palabra y recuento de caracteres. Ahora cambie a una nueva aplicación, seleccione texto y abra el menú contextual para encontrar la nueva opción.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top