Photoshopで作業する際、ガイドを別のドキュメントにコピーしたい場面があります。
この記事では、ガイドの座標をスクリプトで保存し、別の文書へ移す方法を扱います。
そこで、「CopyGuides.jsx」スクリプトを使用すると、ガイドをコピー&ペーストできます。
本記事ではその手順を解説します。掲載コードは貼り付け先の既存ガイドをすべて削除し、小数の座標を整数に変換します。横ガイドしかない場合に縦0pxのガイドが増える制約もあるため、元の文書を保管し、複製した文書で試してください。
2026年10月17日に、Windows 11 ProとPhotoshop 2026(27.11.0)で、練習用の文書を使ってコピーとペーストを実機で確かめました。
以前に掲載していたコードでは、コピーはエラーなく終わるものの、ペーストしても何も起きませんでした。
2行だけ直したコードに差し替え、ペーストできることを確かめています。
結果は「Windowsで確かめた結果」の節にまとめています。
Photoshopでガイドをコピー&ペーストする方法
STEP.1 スクリプトを作成
- 以下のコードをコピーしてテキストエディタなどに貼り付けます。
CopyGuides.jsxという名前で保存します。
下のコードは、2026年10月17日に2行を直した版です。
ガイドの位置を覚えておく値の名前を、0からstringIDToTypeID('layerGuides')に変えました。
Photoshop 2026では、名前を0にした値が保存されず、ペーストの段階で何も起きなかったためです。
コードに「⌘」の記号が入っているので、文字コードはUTF-8にして保存します(今回はBOM付きのUTF-8で保存したファイルで確かめました)。
ガイドをコピーするスクリプト
#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(stringIDToTypeID('layerGuides'), 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(stringIDToTypeID('layerGuides')));
}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.2 Photoshopでガイドをコピー
コピーしたいガイドが含まれているPSDファイルを開きます。
スクリプトの実行手順
- [ファイル] → [スクリプト] → [参照]を選択します。
Shiftキーを押しながらCopyGuides.jsxを選択します。- これでガイドがコピーされます。
Photoshop 2026では、[参照…]を選ぶと「読み込み」という窓が開き、ファイルを選んで[読み込み]ボタンを押すと実行されます。
Shiftは、[読み込み]を押す前から押したままにし、押した後もしばらく離さないでください。
2026年10月17日の実機では、自動操作でクリックの間だけShiftを押したときはコピーされず、Shiftを押したまま[読み込み]を押して10秒ほど離さなかったときはコピーされました。
コピーしても、画面には何も表示されません。
STEP.3 別のファイルにガイドをペースト
- ガイドを貼り付けたいPSDファイルを開きます。
- [ファイル] → [スクリプト] → [参照]を選択し、
CopyGuides.jsxをShiftキーを押さずに通常通り実行します。 - これでガイドがペーストされます。

Windowsで確かめた結果(2026年10月17日)
Photoshop 2026(27.11.0)とWindows 11 Pro(10.0.26200)で、上の手順を練習用の文書で通しました。
練習用の文書は、どちらも800×600 px・72 ppiのRGBで、保存していない新規文書です。
コピー元(guide-source)には、横のガイドを100 pxと300 px、縦のガイドを200 pxと450.5 pxに置きました。

貼り付け先(guide-target)には、縦のガイドを50 pxに1本だけ置きました。

- コピー元を前面にし、[ファイル]→[スクリプト]→[参照…]で「CopyGuides.jsx」を選び、Shiftを押したまま[読み込み]を押しました。
- 貼り付け先のタブに切り替え、同じ操作をShiftを押さずに行いました。
- 以前のコードと、2行を直したコードで、それぞれ1と2を行いました。
| 確かめたこと | 以前のコード | 直したコード |
|---|---|---|
| Shiftを押して実行(コピー) | エラーは出なかったが、覚えておいた値は空だった | 横100・300、縦200・450の位置が覚えられた |
| Shiftを押さずに実行(ペースト) | 何も起きず、貼り付け先は縦50 pxの1本のままだった | 横100 px・300 px、縦200 px・450 pxの4本になった |
| 貼り付け先にあった縦50 pxのガイド | 残った(ペーストされなかったため) | 消えた |
| 450.5 pxのガイド | ペーストされなかった | 450 pxの位置に貼り付けられた |

貼り付け先にあったガイドは消えて、コピー元と同じ配置に置き換わりました。
スクリプトが、ペーストの前に貼り付け先のガイドをすべて消すためです。
確認した正の座標450.5pxは、整数の450pxに変換されました。コードのparseIntは小数部分を取り除くため、負の座標では負の無限大方向への切り下げとは異なります。負の座標での実機動作は今回未確認です。
横のガイドだけの文書(横120 px)をコピーし、ガイドのない文書にペーストすると、横120 pxのほかに、縦のガイドが0 px(左端)に1本足されました。
要らなければ、ペーストした後にそのガイドだけ消してください。
ガイドのない文書にペーストしても、エラーは出ませんでした。
Shiftを押し続ける操作は、手で押す代わりに、自動操作のツールからWindowsのキー入力として送りました。
練習用の文書とガイドの準備、ガイドの位置の読み取りはスクリプトで行い、確認に含めていません。
縦のガイドだけの文書、定規の単位がピクセル以外の場合、大きさや解像度の違う文書への貼り付け、Photoshopを起動し直した後のペースト、Mac、ほかの版は試していません。
Photoshopの関連操作については、以下の記事も参考にしてください。

輝度を透明度に変換する方法はこちらです。

この記事で紹介しているコードは、GitHubのMOTOKI-LLC/cg-method-codeにもまとめています。
2026年10月17日の時点で、GitHubのコードは直す前の版です。
環境設定とカンバスの記事は、ほかにもあります。




まとめ
- この記事ではJSXでガイドの座標を別の文書へ移す
- 「CopyGuides.jsx」スクリプトを使うとコピー&ペーストが可能
- Shiftキーを押しながらスクリプトを実行するとガイドをコピー
- 通常通りスクリプトを実行するとガイドをペースト
- 貼り付け先にあったガイドは消えて、コピーしたガイドに置き換わる
このスクリプトを活用すれば、別のPSDファイルへガイドを複製できるため、作業効率化に役立ちます。
よくある質問:ガイドを別のPSDにコピー&ペーストする
Photoshopでガイドを別のドキュメントにコピーできますか?
掲載の「CopyGuides.jsx」でガイドの座標を保存し、別の文書に反映できます。ただし貼り付け先の既存ガイドは削除され、小数の座標は整数になります。片方向だけのガイドで余分な0pxガイドが増える制約もあるため、複製した文書で結果を確認してください。
どのようにスクリプトを用意しますか?
記事のコードをコピーしてテキストエディタなどに貼り付け、CopyGuides.jsxという名前で保存します。
ガイドをコピーするにはどうしますか?
コピーしたいガイドが含まれているPSDファイルを開きます。[ファイル] → [スクリプト] → [参照]を選択し、Shiftキーを押しながらスクリプトを選択します。これでガイドがコピーされます。
ガイドをペーストするにはどうしますか?
ガイドを貼り付けたいPSDファイルを開きます。[ファイル] → [スクリプト] → [参照]を選択し、同じスクリプトをShiftキーを押さずに通常通り実行します。これでガイドがペーストされます。2026年10月17日のWindows版の実機では、貼り付け先にあったガイドは消えて、コピーしたガイドに置き換わりました。
Shiftキーあり・なしでどう違いますか?
Shiftキーを押しながらスクリプトを実行するとガイドをコピーし、通常通り実行するとガイドをペーストします。Shiftは、[読み込み]を押した後もしばらく押したままにします。
どんな作業に向いていますか?
別のPSDファイルへガイドを複製できるため、同じガイドを複数のファイルで使いたいときの作業効率化に役立ちます。
スクリプトのコードはどこで確認できますか?
記事内とGitHubのMOTOKI-LLC/cg-method-codeにあります。ただし、2026年10月17日の確認ではGitHubは修正前の版でした。この記事の2行修正版と同一とは限らないため、利用するコードを確認してください。
メニューの表示や名称が記事と違う場合はどうすればよいですか?
Photoshopのバージョンによってメニューの名称や配置が変わることがあります。最新の操作手順は、Adobeの公式情報で確認してください。
