Wir haben ein Automatisierungstool für Photoshop, mit einer Steuer-App, die Applescripts aufrufen, die Photoshop steuern.Applescript: Photoshop: So finden Sie heraus, ob das Bild wirklich geöffnet ist
Eine Situation ist, dass wir ein RAW-Bild im CameraRAW-Plug-in öffnen und dann in Photoshop öffnen müssen. Dieser Teil wird über ein Applet mit Systemereignissen bearbeitet. Wenn dieses Applet beendet wird, führen wir das Verarbeitungsskript für Photoshop aus.
Da einige Bilder relativ lange geöffnet werden müssen, müssen wir sicherstellen, dass das Bild wirklich geöffnet ist, bevor das Skript ausgeführt werden kann. ... und da stecke ich fest.
Im Moment verwende ich den folgenden Code, der warten soll, bis das Bild geöffnet ist (das Kriterium für "Öffnen" ist korrekt (und manuell getestet), so dass das hier nicht das Problem ist).
tell application "Adobe Photoshop CC 2015"
activate
tell application "System Events"
tell application process "Photoshop CC"
--
display alert "Waiting for Window"
--
repeat
try
set wn to name of window 1 as text
try
if (wn contains "(RGB/16") then
set wn to "image is open: " & wn
end if
end try
if (wn contains "(RGB/16") then
display alert "We are there, quitting now… " & wn
exit repeat
end if
end try
delay 1
end repeat
end tell
end tell
--
display alert "Ready for process"
--
-- and here comes the processing code
end tell
Ich habe auch versucht, eine Variable zu setzen, die als Argument für die Wiederholung getestet wird, und verändern, wenn die Austrittsbedingung erfüllt ist.
Der Versuch, selbst Warnungen innerhalb der Wiederholungsschleife zu erstellen, führt zu keinem Effekt; Das Skript endet in einer Endlosschleife.
Es ist gut möglich, dass ich das Offensichtliche vermisse ... Also, ich bin dankbar für jeden hilfreichen Hinweis.
Vielen Dank im Voraus.
Vielen Dank für diese Hilfe; Ein Noob (wenn es um AppleScript geht) hat etwas gelernt. Dieser Code-Block löste das Problem, und der Prozess scheint (nach nicht so vielen Tests) ordnungsgemäß zu funktionieren. Obwohl wir das Dokument nach der Verarbeitung schließen, muss ich möglicherweise Schutz gegen bereits geöffnete Dokumente hinzufügen. –