マガジンのカバー画像

へっぽこ学習記録

183
運営しているクリエイター

#ExtendScript

【Illustrator JavaScript】アートボードのサイズを変えるのと、an Illustrator error occurred: 1346458189 ('PARM')について

【Illustrator JavaScript】アートボードのサイズを変えるのと、an Illustrator error occurred: 1346458189 ('PARM')について

シリーズ「任意のサイズのアートボードを作って必要なガイドを引いてくれる奴が欲しい」第三回です。
前回はこちら。

今回はアートボードのサイズを変更します。
実は「任意のサイズのアートボード」は複数欲しいのですが、ドキュメント新規作成時にアートボードの仕様を決める方法ですと、同じサイズのアートボードを複数作ることしかできないので、アートボードを作ってからサイズを変えることにします。

アートボードの

もっとみる
【Illustrator JavaScript】ExtendScriptで直線を描いてガイド化する

【Illustrator JavaScript】ExtendScriptで直線を描いてガイド化する

シリーズ「任意のサイズの新規ドキュメントを作って必要なガイドを配置してくれるスクリプトが欲しい」第二回です。

第一回はこちら

一年空きましたが実はまだ必要なスクリプトが作れていなかったので、改めて続きを作っていきます。
今回はガイドを引いていきます。

Photoshopのガイドは横一直線か縦一直線しかないので簡単に引けるんですが、Illustratorのガイドはどんな形でもガイドに出来るので

もっとみる
【IndesignScripting】特定の文字列を検索してルビを振る

【IndesignScripting】特定の文字列を検索してルビを振る

文字列の中から予め設定しておいた文字列全部拾ってそこにルビを振りたいのです。

InDesign用のExtendScriptの開発環境導入はこちらの記事で。

本文テキストの単位である「story」にアクセスするInDesignScriptingのサンプルコードを見ていると、本文テキストにアクセスする際、Document>Page>TextFrame……という手順でアクセスしている者が多いのですが

もっとみる
【ExtendScript】InDesignScriptingをはじめてみる

【ExtendScript】InDesignScriptingをはじめてみる

インデザでも効率化したいことができたので、インデザ用のスクリプトを書いてみようと思いました。まずは公式のリファレンスを探します。

There is no Scripting Reference PDF for InDesignThere is no Scripting Reference PDF for InDesign.

うそだろ。

本当だったので、言われたとおりエディタのオブジェクトモデ

もっとみる

【PhotoshopJavascript】ExtendScriptで擬似的に作ったクラスのメソッド内でインスタンス変数を使う

こちらで擬似的にクラスは作ってみたんですが、作ったメソッドの中でインスタンス変数使おうとしたら使えないじゃないですか……くそう疑似は疑似だったか。

先に結論:子メソッド内でインスタンス変数を使う方法function Book(title, price){ this.title = title this.price = price // メソッド代入用の変数に代入する無名変数内な

もっとみる
【Photoshop Javascript】配列を検索する

【Photoshop Javascript】配列を検索する

できないんですよォ!

ExtendScriptでは配列の検索ができないindexOfもincludeも使えません。このやろう。

でも配列の検索をしたいvar input = prompt("アルファベットを入力してください")var sample_list = ["a","b","c"]if(sample_list.include(input)){ alert("あるよー!")}

とま

もっとみる
【Photoshop JavaScript】ファイルやフォルダを取り扱う

【Photoshop JavaScript】ファイルやフォルダを取り扱う

「指定のフォルダの中のファイル全部開いて一つのキャンバスに貼り付ける」みたいなことをやりたいとき向けの話。

公式ドキュメントに書いてないんだファイルオブジェクトやフォルダオブジェクトについては、ExtendToolKitと一緒にインストールされてる次のファイルを参照してね♡としか書いてなくて、そのファイルをPCの中から探そうとすると、ない(ない)。

公式じゃ無いけどまとめてくれているところがあ

もっとみる

【Photoshop JavaScript】入力ウインドウを表示して文字列を受け取る

毎回分からなくなって探すんですよ

var input_string = prompt("メッセージ","デフォルト文字列");

これだけ。

JavaScriptの基本仕様だからかExtendScriptのリファレンスに載ってないんですけど使えます。alertもconfirmも同様に使えます。

ファイルやフォルダを開かせるダイアログもあるんですが、上から一個一個辿っていかないといけないタイプ

もっとみる
【PhotoshopScript】Document.saveAs()を使って、ファイルをJPEGで保存する

【PhotoshopScript】Document.saveAs()を使って、ファイルをJPEGで保存する

Document.saveAs()を使ってファイルをJPEGで保存するよ。

ドキュメントを読んでやり方を確認する公式ドキュメントを見ると、

って書いてありますね。

一番左の列がメソッド名と引数の構成、左から二番目の列が引数の型、三番目が戻り値の型(今回は空なので戻り値なし)、一番右が備考です。

つまり、documentオブジェクトにはsaveAsというメソッドがあり、引数は順番に「保存先(

もっとみる

【PhotoshopScript】ActionDiscriptorを使ってシェイプオブジェクトを作る

ScriptingListenerを使って記録したスクリプトを、整理して整理して整理して見やすくしたものです。後で自分が使いたくなった時にコピペできるようにメモしておくという意味合いの強い記事です。

根本的な実装方法はScriptingListenerで記録したものと同じです。実際に動かすのに不要なコードを削り、処理ごとにfunctionを切り出し、設定値を変えやすいようにしてあります。

コピ

もっとみる
【PhotoshopScript】ActionDiscriptorをちゃんと理解して使いたい

【PhotoshopScript】ActionDiscriptorをちゃんと理解して使いたい

まだちゃんと理解はできていないです

ActionDescriptorとはScriptingListenerを使ってスクリプトを記録したときに雨後の竹の子のように出てくるアレです。

ScriptingListenerを使えば、ExtendScriptを書けなくても、もしくはExtendScriptでは実現できない処理でも、スクリプト化することができて非常に便利です。

でも雨後の竹の子のように出

もっとみる
【photoshopJavaScript】レイヤーの順序を逆にする

【photoshopJavaScript】レイヤーの順序を逆にする

結論function reverse_layer_order(document){ for(var index = 0; index < document.layers.length; index++){ if(!document.layers[index]){continue} var key_layer = document.layers[0]

もっとみる
【PhotoshopJavaScript】AdobeExtendScriptで疑似的にクラスを作る

【PhotoshopJavaScript】AdobeExtendScriptで疑似的にクラスを作る

スクリプトを開発していると、どうしても関数間で込み入った情報を受け渡す必要が出てきます。処理したいファイルのリスト、入力したい文字のリスト、接頭辞は何にするか、日付、ほげ、ふが…………

このような込み入った情報はObjectでのやりとりをしたいもの。でもでもでも、込み入ったObjectを場当たり的に作っていくと

{fileList:{1:hoge.jpg,2:hufa.jpg},textLis

もっとみる
【Photoshop JavaScript】外部ExtendScriptファイルを読み込む【Illustratorjavascript】

【Photoshop JavaScript】外部ExtendScriptファイルを読み込む【Illustratorjavascript】

スクリプトが長々としてきた場合、保守をしやすくするために、ファイルを分割したいものです。

でも、HTMLからJSを読み込む時と違って、PSスクリプトを分割するとなると、フォルダごと配布しないといけないし管理めんどくさいねーーーと、思って、分割せずに使っていたんですが限界でした。

というわけで、フォルダごと配布する面倒の方をとることにしました。

やり方//@include "folder_na

もっとみる