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