1 votos

Applescript - Automator - mañana atajo de teclado

He podido crear con éxito un atajo de teclado desde una "acción rápida" en Automator basada en la ejecución de AppleScript (inserta la fecha actual del sistema). Sin embargo, no consigo que un script similar funcione para insertar la fecha de mañana (fecha actual + 1 día) o del día siguiente (fecha actual + 2 días).

Esto es lo que tengo:

on run {input, parameters}

    set thedate to (current date) as string
    set myNewDate to thedate + (1 * days)
    tell application "System Events"
        keystroke myNewDate
    end tell
end run

Produce este error de sintaxis:

Can’t make "Tuesday, March 5, 2019 at 10:13:55 AM" into type number.

¿Puede alguien ayudarme a identificar mi error y solucionarlo? El soporte de Apple no ayudará con los problemas relacionados con AppleScript para los no desarrolladores.

Cualquier ayuda es muy apreciada por este codificador novato.

Gracias a Allan, ark , Wowfunhappy y otros por la rápida ayuda (no sólo un arreglo, sino definir mi problema de sintaxis). Tengo una modificación: ¿cómo le digo a la cadena que deje la marca de tiempo al final: "a las 12:24:21 AM" ?

2voto

Artem Tikhomirov Puntos 4501

Estás intentando añadir el día en el lugar equivocado. Intenta esto:

set thedate to ((current date) + (days * 1)) as string
tell application "System Events"
    keystroke thedate
end tell

La "fecha actual" devuelve la hora en segundos, por lo que tienes que añadir un día de segundos (86.400 segundos en un día, pero estoy seguro de que lo sabías) para obtener el día de mañana. Cambia el multiplicador para obtener más días en el futuro o en el pasado utilizando un valor negativo para el multiplicador.

Tenga en cuenta que no todos los días tienen 86400 segundos (el cambio DST es +/- 3600, los segundos bisiestos, etc ) por lo que en algunos días puede haber una hora de diferencia.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X