2019.03.14
こんにちは、トランソニックソフトウェア亀井です。
ExcelVBAを使用してインデザインを操作する際に覚えておくと使えるものを紹介します。
1 | Set myInDesign = CreateObject("InDesign.Application") |
1 | Set myDocument = myInDesign.Open("開きたいinddファイルのパス") |
1 2 | Set myTextFrame = myDocument.Pages(テキストフレームが存在するページ数).TextFrames(1) Set myTable = myTextFrame.Tables(1) |
1 2 | Set 変数名 = myDocument.CellStyles.Item("インデザインであらかじめ用意したセルスタイル名") myTable.Rows.Item(行位置).Cells.Item(列位置).AppliedCellStyle = 変数 |
1 2 | Set 変数名 = myDocument.ParagraphStyles.Item("インデザインであらかじめ用意した段落スタイル名") myTable.Rows.Item(行位置).Cells.Item(列位置).Paragraphs.Item(1).applyparagraphstyle (変数名) |
1 2 | Set 変数名 = myDocument.Swatches.Item("インデザインであらかじめ用意したスウォッチ名") myTable.Rows.Item(行位置).Cells.Item(列位置).FillColor = 変数名 |
上記のものはあらかじめインデザイン側でテキストフレーム内にテーブル、 段落スタイル、セルスタイル、スウォッチを設定しておく必要があります。
CreateObjectはAdobe製品のバージョンによって””内の書き方が 変わってくる場合があるようなので注意が必要です(上記はCC2019で動作しました)。
またグラデーションなどに好きな角度をつけたい場合は自動化ができないので どこまでを自動でやってどこまでを手動でやるかの判断が難しいですね。