1 votos

¿Puedo hacer un bucle con una tarea de Automator para cada archivo de una carpeta?

Me han encargado la conversión de muchos archivos .numbers a .pdf. Exportar manualmente no me satisfacía, obviamente, así que indagué en internet y encontré un automatizador script (abajo). Obviamente es más fácil y rápido que la exportación manual, pero me encantaría simplemente seleccionar una carpeta y dejar que el script haga el resto para todos y cada uno de los archivos .numbers de la carpeta. He intentado ajustar el script un poco según lo que he encontrado en internet, pero no he conseguido fusionarlo, ¿alguien puede aconsejarme, por favor?

tell application "Finder"
    set theFilesFolder to (folder of theFile) as text
end tell

tell application "Numbers"
    set theDoc to open theFile

    set theDocName to name of theDoc

    --I'm assuming that the file name always ends with ".numbers"
    set theName to (characters 1 thru -7 of theDocName) as text

    export theDoc as PDF to file ((theFilesFolder & theName & ".pdf") as text)

    close theDoc

end tell

0voto

Steve Evans Puntos 155

Iterar elementos / de la carpeta elegida

Puede utilizar un fragmento proporcionado por script Editor:

  1. Lanzar script Editor.app
  2. Crear un nuevo script
  3. Control-Click (o clic derecho) dentro del editor del nuevo script
  4. Seleccione Iterar elementos > Imágenes de la carpeta elegida

Script Editor snippets

Esto pegará un fragmento para elegir una carpeta, y luego realizará una tarea en los archivos que coincidan.

He modificado este fragmento y he insertado su código a continuación:

set this_folder to (choose folder with prompt "Pick the folder containing the files to process:") as string
tell application "System Events"
    set these_files to every file of folder this_folder whose name does not start with "." and name extension is "numbers"
end tell
repeat with i from 1 to the count of these_files
    set this_file to (item i of these_files as alias)

    tell application "Numbers"
        set theDoc to open this_file

        set theDocName to name of theDoc

        --I'm assuming that the file name always ends with ".numbers"
        set theName to (characters 1 thru -7 of theDocName) as text

        export theDoc as PDF to file ((theFilesFolder & theName & ".pdf") as text)

        close theDoc

    end tell

end repeat

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