|
indesignCS3のjavascriptの質問です
テキストフレーム内のテキストを選択して選択部分にxmlタグ(選択したテキストの名前)を付けるという作業を繰り返えし行っています。 この作業をjavascriptで半自動化しようと挑戦し詰まっています。
var tagname = app.activeDocument.selection[0].contents; app.activeDocument.xmlTags.add(tagname,[0,0,0]);
上記ではxmlタグ(選択したテキストの名前)は作成出来るのですがこれでは選択部分にタグが当てる事が出来ていません。
app.activeDocument.selection[0].xmlTags.add(tagname,[0,0,0]); のように対象を変えて色々試してみましたが上手くいきませんでした。
色々調べて見ましたがこのような記事は見つけることができませんでした。根本的に無理なのでしょうか・・・
どなたかアドバイスよろしくお願いします。
|
No.3659 2009/09/25(Fri) 12:55:31
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)
|
Re: 選択したテキストにxmlタグ / せうぞー  |
|
|
|
タグはInDesign上で付けるよりも、なにかしらのDBを介した方がいいと思うのですが… という意味で何をされたいのかよく分からない部分もありますので、思わぬ不都合がありかもしれません。 とりあえず。
var my_doc = app.activeDocument; var my_textFrame = my_doc.selection[0].parentTextFrames[0]; var my_txt = my_doc.selection[0];
var my_root = my_doc.xmlElements[0];//Root要素
var my_textFrame_element = my_textFrame.associatedXMLElement; if (my_textFrame_element === null) { my_textFrame_element = my_root.xmlElements.add("textFrame"); my_textFrame_element.markup(my_textFrame); }
var my_txt_element = my_txt.associatedXMLElements[1]; my_txt_element = my_textFrame_element.xmlElements.add("item"); my_txt_element.markup(my_txt);
|
No.3660 2009/09/26(Sat) 20:25:12
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_1; ja-jp) AppleWebKit/531.9 (KHTML, like Gecko) Version/4.0.3 Safari/531.9
|
|
Re: 選択したテキストにxmlタグ / ho |
|
|
|
せうぞーさま
手動で行うのとまったく同じことが出来ました。 ありがとうございます!感激です。
既に完成しているファイルに規則性のない部分にユニークIDをふる作業のためDBを介す等は無理そうでしたのでこういう形にしていました。
markup()や、エレメントはxmlタグと同じ事というのは理解できましたが、一ヵ所理解できないのですが10行目の var my_txt_element = my_txt.associatedXMLElements[1]; というのにはどんな意味があるのでしょうか。 もしよろしかったら教えていただけませんでしょうか?
|
No.3662 2009/09/28(Mon) 11:03:20
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)
|
|
Re: 選択したテキストにxmlタグ / せうぞー  |
|
|
|
あー、すいません。それは(上のテキストフレームの例と同様に)同じ文字列オブジェクトがすでにタグ付けされているときには処理しないようにと考えた残骸です。 現実的にいろんな重複もあり得るわけで、考えていたら煮えて来たのでさっくり削除しました。 その行を削除して var my_txt_element = my_textFrame_element.xmlElements.add("item"); だけでもいいかもしれません。よくないかもしれませんけれど^^
|
No.3663 2009/09/28(Mon) 12:06:38
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_1; ja-jp) AppleWebKit/531.9 (KHTML, like Gecko) Version/4.0.3 Safari/531.9
|
|
Re: 選択したテキストにxmlタグ / ho |
|
|
|
せうぞーさま
わかりました、問題は無さそうです。 ありがとうございました!
|
No.3664 2009/09/28(Mon) 15:19:58
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)
|
|