InDesignで円グラフを作成する(4)

ref = 0;
for (i=0; i<vals.length; i++){
(繰り返しの中身は略)
//次へ
 ref = ref + vals[i];
}

変数の数だけ繰り返します。vals[i]はパーセンテージ、refは累計のパーセンテージです。

この繰り返しの中でvals[i]の特殊なケースを先に処理しています。

if (vals[i]>100 || vals[i]<=0) {
    alert("値が0以下か100を超えています");
    exit();
}

これは単純にエラー処理。予定外の数値があるとスクリプトそのものを終了しています。

if (vals[i]==100) {
    var txf = grp.textFrames.add();
    //txf.appliedObjectStyle = "";
    txf.contents = vals[i] + "%";
    txf.geometricBounds = [y-th/2, x-tw/2, y+th/2, x+tw/2];
    break;
 }

100%の場合の処理。テキストフレームを作成しています。ここではコメントアウトしていますが、オブジェクトスタイルを当てることも重要なことです。また、グループ化のために作った円に対して、線や塗を与える必要があります。break; でforループを抜けています。