Created
June 21, 2025 06:32
-
-
Save macneko-ayu/b5d5de67eb06da9a57d9a46c903c6824 to your computer and use it in GitHub Desktop.
Claude CodeとCursorにExtendScriptを書かせてみた。プロンプトは「シンプルなInDesign用のスクリプトを記述したいです。新規ドキュメントを作成して開くスクリプトを実装してください」
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Cursor版 | |
// | |
// 「メソッド「add」のパラメーター「documentPreset」の値が無効です。予想される値は DocumentPreset ですが、値 PORTRAIT を受け取りました。」 | |
// というエラーで動かない。 | |
// エラーメッセージを渡して修正を依頼しても見当違いな修正を行い、何回か試したが結局動かないまま | |
// 以下、生成されたコード | |
// InDesign用 カスタム新規ドキュメント作成スクリプト | |
// 詳細な設定で新規ドキュメントを作成するスクリプト | |
// カスタムドキュメント作成関数 | |
function createCustomDocument() { | |
try { | |
// ドキュメント設定 | |
var docWidth = 210; // A4幅(mm) | |
var docHeight = 297; // A4高さ(mm) | |
var docOrientation = PageOrientation.PORTRAIT; // 縦向き | |
var docFacingPages = true; // 見開きページ | |
var docPages = 1; // ページ数 | |
var docStartPage = 1; // 開始ページ番号 | |
// 新規ドキュメントを作成 | |
var newDoc = app.documents.add( | |
docFacingPages, // 見開きページ | |
docOrientation, // ページ方向 | |
docPages, // ページ数 | |
docWidth, // 幅 | |
docHeight, // 高さ | |
docStartPage // 開始ページ番号 | |
); | |
// ドキュメントをアクティブにする | |
newDoc.activate(); | |
// 成功メッセージを表示 | |
alert("カスタム設定で新規ドキュメントが作成されました。\nサイズ: " + docWidth + "mm × " + docHeight + "mm"); | |
} catch (error) { | |
// エラーハンドリング | |
alert("エラーが発生しました: " + error.message); | |
} | |
} | |
// メイン実行 | |
createCustomDocument(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Claude Code版 | |
// | |
// 一発で動いて感動。 | |
// $.writeln を使うのが渋い。 | |
// が、実行時に確認できないのでエラー時にAlertを表示してくれると望ましい。 | |
// これは Claude.md に書いてもらうことで今後は発生しないかも? | |
// 以下、生成されたコード | |
// InDesign用新規ドキュメント作成スクリプト | |
// Adobe InDesignで新しいドキュメントを作成し、開きます | |
try { | |
// 新しいドキュメントを作成 | |
var newDoc = app.documents.add(); | |
// ドキュメントの基本設定 | |
newDoc.documentPreferences.pageWidth = "210mm"; // A4サイズの幅 | |
newDoc.documentPreferences.pageHeight = "297mm"; // A4サイズの高さ | |
newDoc.documentPreferences.pageOrientation = PageOrientation.PORTRAIT; | |
// マージンの設定(上下左右 20mm) | |
var marginPrefs = newDoc.marginPreferences; | |
marginPrefs.top = "20mm"; | |
marginPrefs.bottom = "20mm"; | |
marginPrefs.left = "20mm"; | |
marginPrefs.right = "20mm"; | |
// ドキュメントが正常に作成されたことを確認 | |
if (newDoc.isValid) { | |
$.writeln("新規ドキュメントが正常に作成されました。"); | |
$.writeln("ページサイズ: " + newDoc.documentPreferences.pageWidth + " × " + newDoc.documentPreferences.pageHeight); | |
$.writeln("ページ向き: " + (newDoc.documentPreferences.pageOrientation == PageOrientation.PORTRAIT ? "縦" : "横")); | |
// ドキュメントをアクティブにする | |
app.activeDocument = newDoc; | |
$.writeln("ドキュメントがアクティブになりました。"); | |
} | |
} catch (error) { | |
$.writeln("エラーが発生しました: " + error.message); | |
$.writeln("行番号: " + error.line); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment