Skip to main content
6401 Posts
【Javascript】イラレのバージョンによって動かないコピペするスクリプトについて

お世話になります。複数のデータにコピペするスクリプトが突然機能しなくなってしまいました。 まずペーストしたいデータは複数開いている状態でスクリプトを使用します。一つのデータ(コピーしたいもの)を開いてコピーし閉じます。そして、開いているデータ全てにペーストしていくというものです。 //コピー元のデータ var initialFolderPath = '~/Documents/フォルダ'; var aFile = File.openDialog("ファイルを選択してください", "*.ai", false, initialFolderPath); copy(); function copy() { app.open(aFile); //コピー元データを開く app.executeMenuCommand("selectall"); //全て選択 app.copy(); //コピー app.activeDocument.close(SaveOptions.DONOTSAVECHANGES); //コピー元ファイルを閉じる } var doc = app.documents; //現在開いてあるペーストしたいデータ for (j = 0; j < doc.length; j++) { app.activeDocument = doc[j]; app.executeMenuCommand("pasteInPlace"); //ペースト } コピー元のデータは、レイヤー内にオブジェクトがなくてもレイヤーだけコピペする方法 こちらで教えていただいたことを参考にして、レイヤー内にオブジェクトがないレイヤーもコピペできるようにサブレイヤーを2階層にしています。 イラレ2022 バージョン26.5.3と、イラレ2024 バージョン28.3では動きました。ただイラレ2023 バージョン27.4では、コピー元のレイヤーを無視してアクティブレイヤーに全てまとめてペーストしているようでした。 スクリプトではなく普通にペーストするとコピー元のレイヤーにペーストしてくれるのですが、スクリプトを介すると上手くできません。 最近まで2023で普通に機能していたものなので