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ループを抜けています。