====== 選択範囲があるか判定するスクリプト ====== Photoshop上に選択範囲があるかを判定するスクリプトです。 選択範囲があるか判定する方法によっては、Adobe Configratorで作成したパネルから判定が効かない場合があります。 Adobe Photoshop CS5, CS6で動作確認済み。Adobe Configrator 3で作成したPhotoshop CS5用のエクステンションパネルでも問題なく動作します。 #target Photoshop var docRef = app.activeDocument; function checkSelection() { var flag = true; try { docRef.selection.bounds; } catch (e) { flag = false; } return flag; } if (checkSelection()) { alert("選択範囲があります。"); } else { alert("選択範囲がありません。"); } Adobe Configrator 3(Photoshop CS5用のエクステンションパネル上)では、下記のコードはうまく動作しません。 Adobe ExtendScript ToolKit CS5からの実行では、動作します。 #target Photoshop function checkSelection() { var flag = true; try { var desc = new ActionDescriptor(); var ref = new ActionReference(); ref.putProperty(charIDToTypeID("Chnl"), charIDToTypeID("fsel")); desc.putReference(charIDToTypeID("null"), ref); executeAction(charIDToTypeID("Trnf"), desc, DialogModes.NO); } catch (e) { flag = false; } return flag; } if (checkSelection()) { alert("選択範囲があります。"); } else { alert("選択範囲がありません。"); }