JavaScript
JSX
illustrator

【illustrator】グラフィックスタイルをコピペ

「グラフィックスタイル」パネルを経由せず、ショートカットのみで特定のグラフィックスタイルのコピペを行う。

グラフィックスタイルをコピー

var s = "TEMPORARY"; // グラフィックスタイル名

var doc = app.activeDocument;
var styles = doc.graphicStyles;

// 既に"TEMPORARY"という名のグラフィックスタイルがあれば、削除する
try{doc.graphicStyles.getByName(s).remove();}
catch (error){}

app.doScript("新規グラフィックスタイル強制","parts"); // parts.aia

// 新規に追加したグラフィックスタイルの名を"TEMPORARY"に変更する
styles[styles.length-1].name = s;

グラフィックスタイルをペースト

var s = "TEMPORARY"; // グラフィック名

var doc = app.activeDocument;
var selects = doc.selection;
var style = doc.graphicStyles.getByName(s);

// "TEMPORARY"という名のグラフィックスタイルを適用する
for (i=0; i<selects.length; i+=1){
    style.applyTo(selects[i]);
}

アクション parts.aia

/version 3
/name [ 5
    7061727473
]
/isOpen 1
/actionCount 1
/action-1 {
    /name [ 42
        e696b0e8a68fe382b0e383a9e38395e382a3e38383e382afe382b9e382bfe382
        a4e383abe5bcb7e588b6
    ]
    /keyIndex 0
    /colorIndex 0
    /isOpen 0
    /eventCount 1
    /event-1 {
        /useRulersIn1stQuadrant 0
        /internalName (ai_plugin_styles)
        /localizedName [ 30
            e382b0e383a9e38395e382a3e38383e382afe382b9e382bfe382a4e383ab
        ]
        /isOpen 1
        /isOn 1
        /hasDialog 1
        /showDialog 0
        /parameterCount 1
        /parameter-1 {
            /key 1835363957
            /showInPalette 4294967295
            /type (enumerated)
            /name [ 36
                e696b0e8a68fe382b0e383a9e38395e382a3e38383e382afe382b9e382bfe382
                a4e383ab
            ]
            /value 1
        }
    }
}