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

0 件のコメント:

コメントを投稿