セルの番地指定
InDesignで表のセルを結合するスクリプトを書こうとしていたのだが、結合したセルがあると一つ上のセル・一つ左のセルの指定が思ったとおりに動かない。いろいろ試行錯誤しいたら、直接番地を指定できる方法があった。こんなのどこに載ってるんだ!※ということでメモ。
セルの番地指定方法
3行5列目のセルは Cells("5:3")
サンプル(VB)
セルの塗りが特定の色であれば一つ上のセルまたは一つ左のセルと結合(マージ)する
Dim sw_g As InDesign.Swatch Dim sw_b As InDesign.Swatch Dim tbl As InDesign.Table Dim cel As InDesign.Cell For i = 1 To tbl.Rows.Count For j = 1 To tbl.Columns.Count Set cel = tbl.Cells(CStr(j) & ":" & CStr(i)) If cel.FillColor = sw_b Then cel.Merge tbl.Cells(CStr(j) & ":" & CStr(i - 1)) If cel.FillColor = sw_g Then cel.Merge tbl.Cells(CStr(j - 1) & ":" & CStr(i)) Next j Next i
※2007/04/20追記
その後調べてましたらNameプロパティであると判明いたしました。Nameプロパティはちゃんとリファレンスに載ってます。CS2のリファレンスでは説明が「The name of the object.」だけだったので気付きませんでした。失礼いたしました。