CMYKモードで選択したオブジェクト色を反転させます。
// アクティブなドキュメントを取得
var doc = app.activeDocument;
// 選択されたオブジェクトを取得
var selectedItems = doc.selection;
// 色を反転させる関数
function invertCMYKColor(color) {
    return [
        100 - color[0],
        100 - color[1],
        100 - color[2]
        //100 - color[3]
    ];
}
// 選択された各アイテムに対して処理
for (var i = 0; i < selectedItems.length; i++) {
    var selectedItem = selectedItems[i];
    // オブジェクトが塗りつぶし色を持つ場合
    if (selectedItem.fillColor && 
        selectedItem.fillColor.typename === "CMYKColor") {
        // 塗りつぶし色を反転させる
        var invertedColor = invertCMYKColor([
            selectedItem.fillColor.cyan,
            selectedItem.fillColor.magenta,
            selectedItem.fillColor.yellow
            //selectedItem.fillColor.black
            //blackを指定すると処理後に元が0%なら処理後に100%
            //となるので処理外としました。
        ]);
        selectedItem.fillColor = new CMYKColor();
        selectedItem.fillColor.cyan = invertedColor[0];
        selectedItem.fillColor.magenta = invertedColor[1];
        selectedItem.fillColor.yellow = invertedColor[2];
        //selectedItem.fillColor.black = invertedColor[3];
            //blackを指定すると処理後に元が0%なら処理後に100%
            //となるので処理外としました。
    }
    // オブジェクトがストローク色を持つ場合
    if (selectedItem.strokeColor && 
        selectedItem.strokeColor.typename === "CMYKColor") {
        // ストローク色を反転させる
        var invertedStrokeColor = invertCMYKColor([
            selectedItem.strokeColor.cyan,
            selectedItem.strokeColor.magenta,
            selectedItem.strokeColor.yellow
            //selectedItem.strokeColor.black
            //blackを指定すると処理後に元が0%なら処理後に100%
            //となるので処理外としました。
        ]);
        selectedItem.strokeColor = new CMYKColor();
        selectedItem.strokeColor.cyan = invertedStrokeColor[0];
        selectedItem.strokeColor.magenta = invertedStrokeColor[1];
        selectedItem.strokeColor.yellow = invertedStrokeColor[2];
        //selectedItem.strokeColor.black = invertedStrokeColor[3];
        //blackを指定すると処理後に元が0%なら処理後に100%
        //となるので処理外としました。
    }
}
// 更新を反映
app.redraw();
カラー反転したいオブジェクトを選択し・・・
実行すると反転しますが、グラデーションやパターン、グループ化されたオブジェクトには適用されません。また、blackを設定すると処理後に元が0%なら処理後に100%とぶち壊しになってしまうので処理外としました。



 
 
 

 
