Photoshop Scriptコード

Scripting Listenerで取得したコードやScriptUIコードを載せています。

選択範囲の有無を判定する

コード

alert(isSelection() ? '有り' : '無し');
 
/**
 * 選択範囲の有無を判定する
 */
function isSelection() {
    try {
        // 選択範囲を360度回転
        var changeAngle = 360;
        var desc = new ActionDescriptor();
        var ref = new ActionReference();
        ref.putProperty(charIDToTypeID('Chnl'), charIDToTypeID('fsel'));
        desc.putReference(charIDToTypeID('null'), ref);
        desc.putUnitDouble(charIDToTypeID('Angl'), charIDToTypeID('#Ang'), changeAngle);
        executeAction(charIDToTypeID('Trnf'), desc, DialogModes.NO);
    }
    catch (e) {
        return false;
    }
    return true;
}

補足

OpenSpace」さんの「Photoshop CS4自動化作戦」にも「選択範囲があるかどうか調べる」がありますが(CS1〜4共通)、1px × 1pxのドキュメントに対しては使えなかったため、選択範囲に対する処理を変更したコードです。

確認バージョン

CS2, CS6

ページトップへ