AppleScript para guardar el documento activo de Microsoft Word IFF, hay uno

0

Yo uso esto con Keyboard Maestro para guardar automáticamente el documento más adelantado en Microsoft Word cuando Word desactiva:

tell application "Microsoft Word"
    if it is running then
        save active document
    end if
end tell

Esto funciona muy bien a menos que no haya un documento activo, en cuyo caso se produce un error.

Sé que podría ignorar el error, pero preferiría no hacerlo.

Me gustaría saber si hay una forma adecuada de AppleScript para decir algo como "Si existe un documento activo, guárdelo".

Intenté con Google, pero solo encontré esto (lo que tengo ahora).

    
pregunta TJ Luoma 28.05.2014 - 15:34

1 respuesta

1

Necesitas consultar a Word para el recuento de document objetos - active document es solo un atajo de conveniencia al primero en esa lista. Desafortunadamente, la implementación algo peculiar de AppleScript de Word no devuelve un objeto de lista vacía cuando no hay un documento abierto, sino missing value (la toma de AppleScript en nil ) en su lugar. Teniendo esto en cuenta, la siguiente función solicita a Word documentos abiertos:

on hasDocument()
  tell application "Microsoft Word"
    every document is not missing value
  end tell
end

: pon eso delante de tu script y cambia tu condicional a if it is running and my hasDocument() y estarás bien.

    
respondido por el kopischke 28.05.2014 - 16:00

Lea otras preguntas en las etiquetas