ChatGPTにExtendScriptを生成してもらう

ExtendScript

この記事の内容はすぐに古くなる可能性があります。

流行りのあれですが試している方も多いとは思いますが個人的な体験を少しまとめてみました。
結論としてはもう色んな方がおっしゃているのですが

  • 完璧には書いてはくれない。(動かない箇所が混ざりがち)
  • 部分的には使えるコードを書いてくれるのでうまく使えばかなり役立ちそう。
  • 開発者は出されたコードを解読できるだけの知識は必要。

といったところでしょうか。とりあえずIllustratorのレイヤーを作成するExtendScriptを書けますか聞いてみました。

回答その1

とりあえず新しいレイヤーを5つ作成する簡単なScriptは問題無く書いてくれました。ExtendScriptの古いECMA3の文法にも沿って書いてくれています。ここから少しづつ要求を増やしてみましょう。

レイヤー5つリネーム

単にレイヤー名を”rectangle”, “circle”, “triangle”, “square”, “line”にしてくれといっただけですが頭文字を大文字にしてくれて尚且つlayerの文字をつけてくれました。何はともあれここまではそこまで問題なさそうです。ここで一気にハードルを上げます。各レイヤー名に合わせて図形を描写してくれと頼みました。

図形を作って

ここで問題が、動かない。よくみたらshapeRef.strokeColor = docRef.swatches[“Black”];と
スウォッチの配列をなぜかブラケット記法で取得しようとしています。図形の描写のカラーの指定になぜスウォッチからカラー(しかもただの黒)を取り出すのか、しかも配列をオブジェクト扱いしているのかわかりませんがコードが増えるとこういったコードの間違いが増えてきます。とりあえず聞き直してみました。

動きませんでしたが

とりあえずIndexを0にしてもダメな気がします。(Index1だとレジストレーションカラー)
でもRGBカラーによるカラーオブジェクト生成の代替案もいただきました。

rgbcolorによる生成

ちなみに今回問題ありませんでしたが一度RGBカラーインスタンス生成時にnew RGBColor(0, 0, 0,)でカラー値を渡そうとしてました。(実際は今回のようにred,blue,greenプロパティに渡さないといけない)

ファイル操作

次にファイル操作です。とりあえずフォルダーをデスクトップに再帰的に作ってと聞いてみました。

createfolders

動くことは動きましたそもそもExtendScriptって自動的に再帰的にフォルダーを作成しなかったけ?

再帰手に作るのでは?

おい。でもその他再帰的にファイルを探す関数も書いてもらいました。

ファイルを選択

再帰的にファイルを探す

Script UI

最後にScript UIです。CEPの開発を始めて以来Script UIに関してはからっきしなのでできたらないいなと思いました。

SscriptUIかけます?

ダイアログ

頼もしい。
それではもっと色々つけてみましょう。

要求を増やす

moreDialog

正直これくらい作れれば満足かな。ただやはりもっと規模が大きくなるとやはり動かなくなりますただ個人的にはUXPが来るまではこれで十分UIの方はカバーできそうかなと思っています。(HTML、CSSとも関連がなくて学習が辛い)

怖いのはどこから情報を引用、もしくはどういった経由で学習しているのかわからないのでどこにどんな間違いが紛れ込んでいるか想像ができないところです。後現状回答の精度自体怪しくても確信を持って回答してくるので中々回答の中身を見抜くのが難しいところです。

Beer 寄付してサイトを応援する。