UPDATE: ja testowałem kod poniżej w CS5 i Mac OS 10.7 i może potwierdzić, że działa to nawet przy prostym przełączeniu z tell application "Adobe Photoshop CS4"
na tell application "Adobe Photoshop CS5"
. Błąd, który otrzymujesz jest wynikiem istnieje albo nie jest to dokument otwarty w pierwszym miejscu, ponieważ są kierowane dokument 1. Można łatwo sprawdzić za to z następujących powodów:
tell application "Adobe Photoshop CS5"
set documentCount to count documents
if documentCount > 0 then
set theDocument to document 1
set theFilePath to file path of theDocument
return theFilePath
else
-- no documents open. what to do?
end if
end tell
OLD ODPOWIEDŹ: Nie mam CS5 (jeszcze), ale tutaj jest to dla CS4, i wyobrażam sobie, że wersja CS5 nie będzie zbyt różna, jeśli w ogóle, ponieważ Adobe wykonało dobrą robotę normalizując API od CS3:
tell application "Adobe Photoshop CS4"
set theDocument to document 1
set theFilePath to file path of theDocument
return theFilePath
end tell
--> Result: Macintosh HD:path:to:file:filename.ext
Mam problem z uruchomieniem tego w Adobe CS5 i Lion. Jest to sposób, w jaki jest to udokumentowane, ale nie działa. Jeśli to działa dla innych z CS5 na Lion, daj mi znać, czy są jakieś ustawienia, które muszę sprawdzić w Photoshopie lub w systemie. – cwd
Właściwie miałem otwarte dokumenty, więc to nie problem, ale myślę, że jest tylko udokumentowany błąd z Applescript w Photoshop CS5 - http://forums.adobe.com/thread/632681 – cwd
Czy naprawdę potrzebujesz zmiennych tymczasowych, lub czy możesz po prostu "zwrócić ścieżkę do pliku dokumentu 1"? – tomlogic