Photoshopスクリプト(jsx)│ガイドをコピー&ペーストする方法

Photoshopでスライス機能を使用する際、 ガイドを別のドキュメントにコピーしたい ことがあります。

しかし、Photoshopには ガイドを直接コピー&ペーストする機能がありません

そこで、 「CopyGuides.jsx」スクリプト を使用すると、ガイドを簡単にコピー&ペーストできます。

本記事ではその手順を解説します。

目次

Photoshopでガイドをコピー&ペーストする方法

STEP.1 スクリプトを作成

  1. 以下のコードをコピーしてメモ帳などに貼り付けます。
  2. CopyGuides.jsx という名前で保存します。

ガイドをコピーするスクリプト

#target photoshop
main();
function main(){
if(Number(app.version.match(/\d+/)) <12) return;
if(!documents.length) return;
var startRulerUnits = app.preferences.rulerUnits;
app.preferences.rulerUnits = Units.PIXELS;
if(ScriptUI.environment.keyboardState.shiftKey ){
    setGuides();
    }else{
        displayGuides();
        }
app.preferences.rulerUnits = startRulerUnits;
function setGuides(){
var guides = app.activeDocument.guides;
if(guides.length == 0){
    alert("No guides exist");
    return;
    }
var gH = '';
var gV = '';
for( var g = 0; g < guides.length; g++ ){
    if(guides[g].direction.toString() == 'Direction.HORIZONTAL'){
        gH+=(parseInt(guides[g].coordinate.value));
        gH+=',';
        }else{
            gV+=(parseInt(guides[g].coordinate.value));
            gV+=','
            }
}
gH=gH.replace(/,$/,'');
gV=gV.replace(/,$/,'');
currentGuides = 'Layer Guides' + "⌘" + gH + "⌘" + gV;
var desc2 = new ActionDescriptor();
desc2.putString(0, currentGuides.toSource());
app.putCustomOptions('7a301ec0-afde-11e1-afa6-0800200c9a66', desc2, true );
}
function displayGuides(){
try{
var desc1 = app.getCustomOptions('7a301ec0-afde-11e1-afa6-0800200c9a66');
var layerGuides = eval(desc1.getString(0));
    }catch(e){return;}
clearGuides();
var ar1 = layerGuides.toString().split('⌘');
var Hor = ar1[1].toString().split(',');
var Ver = ar1[2].toString().split(',');
for(var H in Hor){
    activeDocument.guides.add(Direction.HORIZONTAL,new UnitValue(Number(Hor[H]),'px'));
    }
for(var V in Ver){
    activeDocument.guides.add(Direction.VERTICAL,new UnitValue(Number(Ver[V]),'px'));
    }
}
}
function clearGuides() {
   var id556 = charIDToTypeID( "Dlt " );
       var desc102 = new ActionDescriptor();
       var id557 = charIDToTypeID( "null" );
           var ref70 = new ActionReference();
           var id558 = charIDToTypeID( "Gd  " );
           var id559 = charIDToTypeID( "Ordn" );
           var id560 = charIDToTypeID( "Al  " );
           ref70.putEnumerated( id558, id559, id560 );
       desc102.putReference( id557, ref70 );
   executeAction( id556, desc102, DialogModes.NO );
};

STEP.1 Photoshopを起動

コピーしたいガイドが含まれている PSDファイルを開きます

STEP.2 ガイドをコピー

  1. [ファイル][スクリプト][参照] を開く。
  2. Shiftキー を押しながら CopyGuides.jsx を選択。
  3. これで ガイドがコピー されました。

STEP.3 別のファイルにガイドをペースト

  1. ガイドを貼り付けたいPSDファイル を開く。
  2. [ファイル][スクリプト][参照] を開き、CopyGuides.jsx通常通り 実行。
  3. これでガイドがペーストされます。

まとめ

  • Photoshopにはガイドをコピー&ペーストする機能がない
  • 「CopyGuides.jsx」スクリプトを使うと簡単にコピー&ペースト可能
  • Shiftキーを押しながらスクリプトを実行するとガイドをコピー
  • 通常通りスクリプトを実行するとガイドをペースト

このスクリプトを活用すれば、 別のPSDファイルにガイドを簡単に転送できる ので、ぜひ試してみてください!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次