Seçilen görüntünün yolunu Applescript ile Adobe Bridge'de nasıl edinebilirim?


0

Adobe Bridge CS5.1’de seçilen görüntünün küçük resminin üst dosya yolunu bir kabuk betiğine aktarmak için çalışıyorum. Bir Applescript, aşağıdaki gibi küçük bir javascript komutunu sarar:

set js to "app.document.selections[0].spec.parent.name;" # parent of 1st selected image
tell application "Adobe Bridge CS5.1" # target adobe product
    set theResult to do javascript js # fire away, waiting for return value
end tell 

Javascript doğru değeri bildirir - çıktıyı Bridge üzerinden test ettim alert. Ne yazık ki, do javascriptkomut mu değil herhangi bir değer döndürür, bu yüzden açık bir katma returndeyimi:

set js to "return app.document.selections[0].spec.parent.name;"

AppleScript Editor.app'da bir hata atar :

error "Adobe Bridge CS5.1 got an error: AppleEvent handler failed." number -10000

Neyi yanlış yapıyorum? Not: Sadece yola ihtiyacım var, nasıl yapıldığını umursamıyorum.

Yanıtlar:


2

Bence yolu bulmak için BridgeTalk kullanarak Photoshop'tan geçmek zorunda kalacağınızı düşünüyorum.

function getPathFromBridge(){
    function script(){
        var Path = new File(encodeURI(app.document.selections[0].spec.parent)); 
        return Path.toSource();
    }
    var filePath='';
    var bt = new BridgeTalk();
    bt.target = "bridge";
    bt.body ="var ftn = " + script.toSource() + "; ftn();";
    bt.onResult = function( inBT ) { filePath = decodeURI(eval( inBT.body));}
    bt.onError = function( inBT ) { filePath = '';}
    bt.send(4);
    if ( undefined == filePath ) filePath = '';
    return decodeURI(filePath); 
}

Sonunda, Adobe komut dizisinin delirebileceğini hissediyorum.
myhd

1

returnBir işlev dışında, bir javascript içinde kullanamazsınız .

Güncelleme: Tamam, bir test yaptım, eğer javascript komutunun sonucunu bir javascript değişkenine koyarsam, AppleScript'teki sonuç şu dizge olur: undefined

Yani bunu kullan set js to "app.document.selections[0].parent.spec;"


Cevabınız için teşekkür ederim! Ne yazık ki, hala AppleEvent handler failed." number -10000hatayı alıyorum. Bu beni deli ediyor.
myhd

1
Sözdizimi doğru değil gibi görünüyor. Bunu dene set js to "tPath = app.document.selections[0].parent.spec;" - Önemli, parent özelliği: app.favorites'in kök seviyesine eklenen minik resimler için değer tanımsızdır.
jackjr300

1
Haklısın, sözdizimi yanlıştı. Düzeltme için teşekkürler! Hala Köprü'den dönüş yok. Belki mekanizma bozuldu?
myhd

Cevabımı güncelledim.
jackjr300

1
@ myhd: SO hakkındaki sorunuza cevabımı görün, ancak Bridge için işlevselliğin bozulduğunu (kasıtlı olarak veya başka şekilde) kabul ediyorum.
Philip Regan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.