Illustratorで現在のドキュメント名を入力するJavaScript
スポンサードリンク
Illustrator 10~CS3のJavaScriptで、選択しているテキストパスに、現在のドキュメント名を入力します。ただし、Illustrator CS1では全く役に立ちませんw
用途として、Illustratorで手動面付けしている事業所さんなんかで、トンボ外にドキュメント名を表示することで、出力したものを取り違えないようにするのに使えます。
機能の割に長いのは、Illustrator 10~CS3対応するため、Illustrator 10においてCS以降のアクセス方法が使えるようなappオブジェクトを拡張しているからです。無駄だよね……
Filename: input_filename.jsx (Illustrator 10の場合は拡張子jsの方がいいのかな)
/*
input_filename.jsx : 選択したテキストにファイル名を入力します
*/
(function(){
// 機能拡張:AI10の場合、appオブジェクトを拡張
if (typeof app == "undefined") {
// Illustrator10の場合
app = {};
app.documents = documents;
if (app.documents.length != 0) {
// activeDocumentが存在していないとアクセスすらできない
app.activeDocument = activeDocument;
}
}
// main
if (app.documents.length != 0) {
// ドキュメントを1つ以上開いている
var objDoc = app.activeDocument;
var selObjs = objDoc.selection;
switch ( selObjs.length ) {
case 0: // 選択無し
alert("テキストパスを1つだけ選択してください。");
break;
case 1: // 1つだけ選択
if ( (selObjs[0].typename == "TextFrame") // AICS以降
|| (selObjs[0].typename == "TextArtItem") ) {
// TextFrameだった
selObjs[0].contents = objDoc.name;
}
else { // TextFrame以外だった
alert("テキストパスを選択してください。");
}
break;
default: // 2つ以上選択
alert("複数選択しています。"
+ "テキストパスを1つだけ選択しなおしてください。");
}
}
else { // ドキュメントを開いていない
alert("Illustratorで書類を開いてから実行してください。");
}
})();
CodeReposにIllustratorのディレクトリ掘っていいかなー
http://svn.coderepos.org/share/platform/illustrator
あたりかな。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/2641





![: Amazon.co.jp: プラスティック・メモリーズ 1【完全生産限定版】(イベントチケット優先販売申込券付) [Blu-ray]](/lists/_9/B00VWX66E8.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 2【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66K2.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 3【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6MV0.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 4【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66IO.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 5【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6Y0E.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 6【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX69D6.jpg)

いつも拝見して大変参考にさせてもらっおります。
JavaScriptについてあまり詳しくありませんので一つご教授を、、
clさんが使っている、
(function(){
......
})();
で囲む利点とはどのようなものでしょうか。
何か再利用する際にとても便利そうな「何か」が
隠されていそうです。是非お教えください。
WEBにおけるprototype.js的なバージョン間の差を吸収するようなライブラリとかないですかね。
adobeに率先して用意してほしい。
スミマセン。自己解決しました。
クロージャというんですね。勉強しなおしてきます。