Soy nuevo en el AppleScript y he llegado a este problema después de que varios otros problemas y soluciones temporales (ver más abajo para más detalles). Mi problema actual es que os estoy contando las Páginas para comprobar si cualquier documento abierto con
tell application "Pages"
exists front document
end tell
pero , a veces, incluso cuando las Páginas del documento, abra el "existe", es siempre "false". Y, en general, parece que a veces, cualquier referencia a "frente documento" devuelve errores que no se puede conseguir cuando es claramente no. Cuando me salga de las Páginas y vuelve a intentarlo, por lo general, funciona...hasta que no.
Alguna idea?
Mi problema original se deriva de querer hacer un QuickAction para abrir un archivo en Páginas -> exportar a PDF -> cerrar Páginas -> repetir según sea necesario. Pero el guión se pone delante de sí mismo y trata de completar la exportación antes de que el archivo está abierto.
tell application "Finder"
set theSelection to selection
repeat with oneItem in theSelection
set finderLocation to oneItem as text
open oneItem
tell application "Pages"
set idx to 0
repeat until (exists front document)
set idx to idx + 1
if idx > 2000 then quit
end repeat
set pagesLocation to file of front document as text
repeat until finderLocation = pagesLocation
set pagesLocation to file of front document as text
end repeat
set exportFile to file of front document as text
set exportFile to text 1 thru -6 of exportFile
set exportFile to exportFile & "pdf"
export front document to file exportFile as PDF with properties {image quality:Best}
close front document without saving
end tell
end repeat
end tell
Así que he estado tratando de encontrar una manera de comprobar si el documento es abierto antes de continuar. Y se me ocurrió esto, para comprobar si la parte delantera de archivo de documento de ubicación en las Páginas de los partidos de la ubicación de los archivos abiertos por el Buscador. Esto funcionó hasta que probé a partir de una nueva instancia de Páginas (salir de las Páginas de primera, a continuación, intente). El problema no era que las Páginas que podría marcar un error por no ser capaz de encontrar el "frente de documento" (ya que necesitaba leer su ruta de archivo pero nada estaba abierto todavía).
Así que ahora estoy aquí tratando de comprobar si todo es abierto, antes de comprobar si el archivo está abierto. Pero ahora, como se describe anteriormente, parece que las referencias a "documento" se rompe y causa que "existe" o "archivo de frente documento" para colgar.
Estoy aún en la dirección correcta aquí o hay una manera mejor de hacer esto?
Gracias de antemano.
EDITAR: ahora mi script se parece a esto, y parece ser más consistente, al menos hasta ahora
tell application "Finder"
set theSelection to selection
repeat with oneItem in theSelection
set nameOfDocument to name of oneItem
open oneItem
tell application "Pages"
repeat until (exists document nameOfDocument)
delay 0.1
end repeat
set exportFile to oneItem as text
set exportFile to text 1 thru -6 of exportFile
set exportFile to exportFile & "pdf"
export document nameOfDocument to file exportFile as PDF with properties {image quality:Best}
close document nameOfDocument without saving
end tell
end repeat
end tell