サンプルスクリプトのTabUtilities.jsxについて

[9159]サンプルスクリプトのTabUtilities.jsxについて 投稿者:momo 投稿日:2017/03/13 18:38:56
InDesignのJavascriptを勉強しているものです。
環境
Windows10
InDesign cs6

サンプルスクリプトのTabUtilities.jsxについてわかる方がいらっしゃっいましたらお願いします。

126行目 関数 myFindColumnEdge の中の
136行目 for文でif(myCounter==0){…} が理解できません。textColumnCountを見ているのであれば1からだと思うのですが。myCounter==0とはどういうことなのでしょうか?
また、
153行目 変数 myRightIndent
154行目 変数 myTextWidth
が突然出てきます。これはどう理解したらよいのでしょうか?
ざっとスクリプトを読みましたが、普通の使い方をしている方にはスクリプトが想定しているケーススタディを思いつかないと思います。添付の図のように、テキストフレームにフレーム内の余白があり、段組になっていること。さらにそれが複数連結されていること(連結を表示し忘れましたが連結されています)。なおかつ、選択範囲が、複数の段、フレームにまたがっていること。
こういったケースでも対応できるように書かれているスクリプトなので、私のような人に教えようという立場でも使ったことのないプロパティがいっぱい出てきます。(でもこれだけいろんなケースを想定しておきながら縦組みに対応していないという、ある意味情けないサンプルです)
勉強するにはちょっと難しいサンプルですが、想定さえ見えてくれば、一行一行で何をしているのか見えてくると思います。

attached image
[9161]Re: サンプルスクリプトのTabUtilities.jsxについて 投稿者:momo 投稿日:2017/03/14 08:33:37
お〜まち様 お返事ありがとうございます。

お〜まち様のおっしゃられていることと添付図を参考に理解を深めたいと思います。

図まで作成していただいてありがとうございました。
[9165]Re: サンプルスクリプトのTabUtilities.jsxについて 投稿者:たう 投稿日:2017/03/16 14:51:48
153,154行目は意味不明ですねw

そもそも
for (myCounter = 0; myCounter < myTextFrame.textFramePreferences.textColumnCount; myCounter ++){
ていうループの中で
if(myCounter == myTextFrame.textFramePreferences.textColumnCount){
が満たされることがありえないので滅茶苦茶書いててもエラーにならないようですが
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)

このページをシェア