Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forums MacBidouille _ Technologies Apple _ AUTOMATOR > APPLE SCRIPT > PB ALIAS

Écrit par : Pierre Corne 3 Oct 2019, 17:37

Bonjour,

Avec AUTOMATOR et l'exécution d'un script APPLESCRIPT ci-dessous, j'ai le massage suivant :
Erreur dans Adobe Photoshop CC 2019 : Le fichier un objet quelconque est introuvable.

Voici le code :
-----------------------------------------

Code
say "Choose your Master Folder for this batch job" using "Victoria"
set raw_folder to choose folder
say "Choose your destination Folder for the processed files" using "Victoria"
set live_folder to choose folder
set startTime to time of (current date)
set fileCounter to 0
    tell application "Finder"
        set itemList to files in raw_folder
    end tell
repeat with j from 1 to (number of itemList)
    set fileCounter to fileCounter + 1
end repeat

repeat with an_item in itemList
    tell application "Finder"
        set current to an_item as alias
    end tell

    tell application "Adobe Photoshop CC 2019"
        activate
        open current
        set this_image to current document
        do action "PHOTOS LDT" from "PHOTOS LDT"

        tell current document
            save as JPEG in live_folder
            close
        end tell
    end tell
end repeat

set endTime to time of (current date)
say "The job is done, please have a look to the destination folder. The operation took " & endTime - startTime & " seconds. The directory contains " & fileCounter & " files." using "Victoria"

-----------------------------------------

La variable current ne semble pas définie.
Sur des systèmes plus ancien que macOS Mojave ce script fonctionne, mais pas sur le système pré-cité.
Avez-vous des solutions à me proposer.

Bien cordialement

Écrit par : baron 3 Oct 2019, 18:12

Bonjour et bienvenue ! smile.gif

Note de la modération : je déplace vers le sous-Forum Programmation où tu auras plus de chances d'avoir des réponses pertinentes.

N.B. Il est préférable d'éviter d'écrire en majuscules (= CRIER !)

Écrit par : PBell 3 Oct 2019, 20:33

Bonsoir,
Effectivement la variable "current" ne doit pas donner le résultat voulu car c'est un mot réservé pour Applescript comme par exemple dans "Tell current document"
Il faut utiliser un nom de variable qui n'est pas un mot réservé.

Par ailleurs, permet moi de suggérer quelques simplifications :

CODE
tell application "Finder"
    set itemList to files in raw_folder
end tell
repeat with j from 1 to (number of itemList)
    set fileCounter to fileCounter + 1
end repeat


...peut s''écrire plus simplement :
CODE
tell application "Finder" to set itemList to files in raw_folder
set fileCounter to count of itemlist


Par ailleurs il n'est pas nécessaire d'affecter la variable "current", l'alias peut être utiliser directement :
CODE
repeat with an_item in itemList
    tell application "Adobe Photoshop CS3"
        activate
        open (an_item as alias)
        set this_image to current document
        do action "PHOTOS LDT" from "PHOTOS LDT"    
        tell current document
            save as JPEG in live_folder
            close
        end tell
    end tell
end repeat


Cordialement

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)