DTP駆け込み寺

[ 返信 ]

Re^3: 多重グループ化されたアイテムに対してスクリプ処理

子、子の子、あるいは、親、親の親、と順に辿っていく場合には再起処理を使う必要がありますが、allPageItemsで自分より下のPageItemすべて(子だけではなく孫、ひ孫など)を拾えますので、再起処理にする意味はないと思いますよ。

allPageItemsのところをpageItems(そのオブジェクトの子のpageItemのみ)に変えて、順に再帰呼び出しで処理することも出来なくはないでしょうが、煩雑になるだけで意味がないです。

再起処理する方を考えている仮定で、[11102]で挙げたスクリプトの穴が見つかってしまいました。選択されているオブジェクト自身の文字色が変えれないですね。以下のように修正します。(相変わらず、表組のセル内の文字色は考慮の外ですが)

var sel = app.selection;
for (var i=0; i<sel.length;i++){
try {
sel[i].texts[0].fillColor = "Black";
} catch(e){}
var pItems = sel[i].allPageItems;
for (var j=0; j<pItems.length; j++){
try {
pItems[j].texts[0].fillColor = "Black";
} catch(e){}
}
}

[11108] ななし (2010/12/10 Fri 14:23)


残り7件

  1. [11101] 多重グループ化されたアイテムに対してスクリプ処理する方法は? けんけん 2010/12/09 16:38
    1. [11102] Re: 多重グループ化されたアイテムに対してスクリプ処理する ななし 2010/12/09 18:38
      1. [11107] Re^2: 多重グループ化されたアイテムに対してスクリプ処理 けんけん 2010/12/10 10:53
        1. [11108] Re^3: 多重グループ化されたアイテムに対してスクリプ処理 ななし 2010/12/10 14:23
          1. [11113] Re^4: 多重グループ化されたアイテムに対してスクリプ処理 (z-) 2010/12/11 00:54
            1. [11114] Re^5: 多重グループ化されたアイテムに対してスクリプ処理 ななし 2010/12/11 11:11
              1. [11121] Re^6: 多重グループ化されたアイテムに対してスクリプ処理 けんけん 2010/12/13 17:23
                1. [11129] Re^7: 多重グループ化されたアイテムに対してスクリプ処理 ななし 2010/12/14 12:38
                  1. [11130] Re^8: 多重グループ化されたアイテムに対してスクリプ処理 けんけん 2010/12/14 19:41
                    1. [11134] Re^9: 多重グループ化されたアイテムに対してスクリプ処理 こうちゃん犬猫まみれ 2010/12/15 01:14
                      1. [11146] Re^10: 多重グループ化されたアイテムに対してスクリプ けんけん 2010/12/15 20:08