過去、表に関して調べたjavascriptのいろいろ。

ひょっとして動作しないのもあるかも……。

参考程度に書きとめておきます。


//新規にドキュメントを作成する
pageObj = app.documents.add();
pageObj.documentPreferences.pageWidth="210mm";
pageObj.documentPreferences.pageHeight="297mm";


//テーブルを作成する
txtObj = pageObj.textFrames.add();
txtObj.visibleBounds = ["10mm","10mm","100mm","100mm"];
tblObj = txtObj.tables.add();


//表の行列(マス)を決める
tblObj.columnCount = 10; //よこ
tblObj.bodyRowCount = 7; //たて


//全セルの幅・高さを調整する
tblObj.width = "150mm"; //よこ
tblObj.height = "70mm"; //たて


//内容を入れる(1列目に全部同じものを入れる)
tblObj.columns[0].contents = "ABCDE";


//内容を入れる(1行目に全部同じものを入れる)
tblObj.rows[0].contents = "12345";


//内容を入れる(個別に入れる)
tblObj.rows[2].cells[5].contents = "ココ";


//罫線枠の太さ
tblObj.leftBorderStrokeWeight = "0.3pt";
tblObj.rightBorderStrokeWeight = "1pt";
tblObj.topBorderStrokeWeight = "2pt";
tblObj.bottomBorderStrokeWeight = "3pt";


//罫線枠の色
tblObj.leftBorderStrokeColor = "none";
tblObj.rightBorderStrokeColor = "none";

sel = app.activeDocument.textFrames;


//行追加
sel[0].tables[0].rows.add();
sel[0].tables[0].rows.add();


//行の高さ
tblObj.rows[0].height = "3.5mm";


//それぞれの列の幅
tblObj.columns[0].width = "12mm";
tblObj.columns[1].width = "16.5mm";
tblObj.columns[2].width = "10mm";
tblObj.columns[3].width = "12.5mm";


//色の設定
setColor = [0, 10, 10, 0];
Color1 = pageObj.colors.add({model:ColorModel.process,space:ColorSpace.cmyk,colorValue:setColor});


//バックカラーを付ける
sel[0].tables[0].rows[2].fillColor = app.activeDocument.swatches.item("C=0 M=0 Y=100 K=0");
sel[0].tables[0].columns[2].fillColor = app.activeDocument.swatches.item("C=0 M=100 Y=0 K=0");
sel[0].tables[0].rows[3].fillColor = Color1


//セルの中のマージン
sel[0].tables[0].cells[8].rightInset = 4;


//セルのマージ
//sel[0].tables[0].cells[0].merge(sel[0].tables[0].cells[3]); //一行分マージ
//sel[0].tables[0].cells[0].merge(sel[0].tables[0].cells[4]); //縦にマージ
sel[0].tables[0].cells[1].merge(sel[0].tables[0].cells[2]); //横のセルにマージ


//文字スタイルをかける
sel[0].tables[0].cells[2].texts.item(0).appliedCharacterStyle= "新ゴM-20q";


//罫線枠の太さ
tblObj.leftBorderStrokeWeight = "0.3pt";
tblObj.rightBorderStrokeWeight = "1pt";
tblObj.topBorderStrokeWeight = "2pt";
tblObj.bottomBorderStrokeWeight = "3pt";


//罫線枠の色
tblObj.leftBorderStrokeColor = ("C=0 M=0 Y=100 K=0");
tblObj.rightBorderStrokeColor = ("C=0 M=100 Y=0 K=0");


//各線の設定
tblObj.rows[1].bottomEdgeStrokeWeight = "0.25mm"; //行の下の線幅
tblObj.rows[1].bottomEdgeStrokeColor = ("C=15 M=100 Y=100 K=0"); //行の下の線色
tblObj.rows[1].bottomEdgeStrokeType = ("1_2_0.5"); //行の下の線種類


//例)表の3列目、2行目のセルの場合
tbl.cells.itemByName("2:1")