タグ

ブックマーク / d.hatena.ne.jp/seuzo (5)

  • XMLオブジェクトの取り扱い - 名もないテクノ手

    XMLオブジェクトはJavaScriptのコアクラスです。InDesign内の「XMLhoge」クラスではありません。また実装系によっては、使えない場合もあります。 IDML関連でいきおいXMLが大きな役割を果たすことになりましたが、現在のCS3でもXMLをオブジェクトとして扱えます。簡単にパースできるってことですね。rubyやXSLTなどの外部アプリケーションにお任せしてもいいかもしれませんが、JavaScriptの標準で扱えるなら好都合な場面もありそうです。 JavaScript Tool GuideのP219〜のとおりです。用意したXMLはこんな感じ。日語もまぜてみました。 <?xml version="1.0" encoding="utf-8" ?> <bookstore> <book category="COOKING"> <title lang="en">Everyday I

  • 任意のスクリプトの実行 - 名もないテクノ手

    古籏一浩さんが日刊デジタルクリエイターズでご紹介されていた、executeScript()メソッド クリエイター手抜きプロジェクト[184]Adobe CS3編 非公開の機能を使う(複数のスクリプトファイルを連続実行する)-- 日刊デジタルクリエイターズ InDesignですと、このようにコードを読まなくても以下のやり方で、任意のスクリプトを実行できます。 doScript()でファイルを指定する 以下の例ではひとつづつしか実行しませんが、もちろん異なるスクリプトを複数混在できます。VBSの場合はどうやるのかちょっと不明^^ var my_file = File.openDialog("スクリプトファイルを指定してください"); var my_extn = '' + my_file.name.match(/[^\.]+?$/);//拡張子 if (my_extn.match(/^j/i))

  • InDesign CS5ではスクリプトラベル使用禁止 - 名もないテクノ手

    Adobe Forums: With CS5, some things have changed ここに書かれている通りなんですが、InDesign CS5ではスクリプトラベルを手がかりにPageItemを参照するのが難しくなりました。CS4以前のスクリプトラベルに依存しているプログラムはうまく動きません。スクリプトラベルはもう過去の遺産になったようです。 たとえば、スクリプトラベル「hoge」を持つテキストフレームのcontentsを取得しようとして var my_doc = app.documents[0]; var my_tf = my_doc.textFrames.itemByName("hoge"); alert(my_tf.contents); と書いてもエラーになります。「item("hoge")」も同様です。 じゃあいったいitemByName()では何を渡すかといえば、レ

    InDesign CS5ではスクリプトラベル使用禁止 - 名もないテクノ手
    katow
    katow 2011/03/24
    DOMの構造が変わった?LabelではなくNameで呼び出すのに、NameはLayerに紐づく属性らしい件
  • InDesign CS5では、PageItemの親はPageではなくSpread - 名もないテクノ手

    親をたずねてxxx - ものすごいハイウエスト日記 上記ブログにもちょっとコメントさせていただいて、すっかり「書いた気」になっていたのですが、一応ここにも書いておきます。 InDesignのスクリプトを長く書いていて、DOMがある程度染み付いている方は「PageItemの親はPageだよね」と何の疑いもなく信じています。しかし、InDesign CS5では、PageItem.parentはSpreadを返します(spreadの親はapplication。Pageを通貨しましせん。)。ですから気がつきにくく、Adobe流儀(驚き最大の法則)に振り回されてしまうかもしれません。 PageItemからPageオブジェクトを得たい場合は、InDesign CS5からPageItemオブジェクトに新しく追加された「parentPage」プロパティを使ってください。 var my_sel = app.

    katow
    katow 2011/03/24
    バージョン依存あるのね。そりゃそうだろうが。
  • InDesign - JavaScript小技(1) - 名もないテクノ手

    InDesignのJavaScriptを使う上でちょっとした小技をメモ。(JSTG == JavaScript Tool Guide) ファイルシステムを得る var my_fileSys = Folder.fs; alert(my_fileSys); Mac環境なら "Macintosh" と返り、Winなら "Windows"と返ります。JSTG p.41,160 OSとバージョンを得る var my_osVer = $.os; alert(my_osVer); うちの環境だと "Macintosh OS 10.5.5"と返ります。JSTG p.198 文字列のロケール JSTG p.204-206 my_mess = {ja:"こんにちわ世界", en:"Hello, world"}; alert(my_mess); ロケールを変えてテスト(テストがおわったら、$.locale =

    InDesign - JavaScript小技(1) - 名もないテクノ手
    katow
    katow 2011/03/24
    まだ初心者なのでデバッグ情報をコンソールに出す方法とか本当に知りたかった
  • 1