2008年12月21日日曜日

Excelの表の項目をInDesignにコピー

おまけとして。
私はいつもVBScriptなんですが。。
・Excelの(選択された範囲の)表をInDesignにコピーする。
 ※セル結合はしません
はこんな感じです。

「○○○.vbs」というファイル名で保存して、スクリプトパレットに登録しましょう。
InDesignのドキュメントを開いて、Excelを立ち上げて表を選択して、スクリプトを実行すると新規テキストフレームを作成してその中に表を作ります。

*****ここから*****
Set AppID = CreateObject("InDesign.Application")
Set xlApp = GetObject(,"Excel.Application")
Set DocObj = AppID.ActiveDocument

Set xlSheet = xlApp.Workbooks(1).ActiveSheet
Set are = xlApp.Selection.Areas(1)

Set Objtxt = DocObj.TextFrames.Add()
Objtxt.VisibleBounds = Array("10mm","10mm",DocObj.DocumentPreferences.PageHeight - 10 & "mm", DocObj.DocumentPreferences.PageWidth - 10 & "mm")
Set ObjTbl = Objtxt.tables.Add()
ObjTbl.BodyRowCount = are.Rows.Count
ObjTbl.ColumnCount = are.Columns.Count

For i = are.Rows.Row To are.Rows(are.Rows.Count).Row
For j = are.Columns.Column To are.Columns(are.Columns.Count).Column
ObjTbl.Rows(i - are.Rows.Row + 1).Cells(j - are.Columns.Column + 1).Contents = xlSheet.Cells(i, j).Value & ""
Next
Next
Next

とりあえず、ひとつ。。

とりあえず一つ目のツールができました。
Excelの表データをInDesignの表としてコピーするもの。
罫線や、フォントは何もしませんが、セルの結合は再現します。

お客さんからExcelのデータを渡されてセコセコとInDesignで表を作って....、
そしてお客さんの「内容変更しました。」なんて一言で表が差し替えになることがしばしば。。
そんなときにがんばってくれるツールです。
InDesignで表の再結合ってのが苦手なんだよね~。

作ったものの公開するとこがまだ用意できていない。
Vectorさん、はやく連絡くださ~い。

2008年12月17日水曜日

いまつくっているもの

いまはInDesign CS2で仕事してます。
なので作るツールもそのへんになり、、

・InDesign <-> Excelの表データのコピーツール
・InDesignの相互参照ツール
とか。

まずはこのあたりから整理して公開していこう。。
どれくらいの人が「ほしい!」と言ってくれるのかが知りたいし。

2008年12月14日日曜日

さて、なにからはじめたものか。。

仕事ではWindows DTPやってますが、いろんなツールを作ることが多い。
なかには「これって世間一般で需要があるのかな~?」なんて思うものがあります。
そういうことを書いていけたらと思い、ブログをはじめます。


...今日はもう眠いので、次回。