Java Scriptについて

[2271]Java Scriptについて | 投稿者:gagle | 投稿日:2009/01/23(Fri) 09:18:17
MAC OS 10.5.5 indesign CS3 使用

indesign CS3から表スタイル,セルスタイルが導入されていますが,JavaScriptで表スタイル等をあてることはできないのでしょうか?

おーまちさんのサイトにてInDesign Object Model CS-CS3を参照して,試したのですがなかなかスタイル適用ができません.

自分で書いたScriptはこちらです
(function (){
   var doc = app.activeDocument;
   var IPoint = doc.selection[0];
   var tableobj = IPoint.tables.add();
   var pstyle = doc.cellStyles.item("セル1");
   var ppstyle = doc.cellStyles.item("セル2");
   var sele = tableobj.rows[0].cells[0].select();
   var sele2 = tableobj.rows[1].cells[0].select();
   
   tableobj.bodyRowCount = 2;
   tableobj.columnCount = 1;
   tableobj.width = "6mm";
   tableobj.sele = applycellStyle("セル1");
   tableobj.sele2 = applycellStyle("セル2");
   tableobj.rows[0].cells[0].contents = "あ";
   tableobj.rows[1].cells[0].contents = "す";
})();


よろしくお願い致します
» 1
[2272]Re: Java Scriptについて | 投稿者:お~まち | 投稿日:2009/01/23(Fri) 09:53:57
私のInDesign Object Model CS-CS3はVBScriptでの表記ですので、JavaScriptではそのままは使えません。ExtendScript Toolkit 2 の、Adobe InDesign CS3 オブジェクトモデルを参照しながら、いくつか読みかえる必要があります。

で、セルにセルスタイルを当てるJavaScriptの一番単純な例を記載しますので、参考になさってください。

//変数docにアクティブなドキュメントを割り当てます
var doc = app.activeDocument;
//変数cs1に「BT20」という名前のセルスタイルを割り当てます
var cs1 = doc.cellStyles.itemByName("BT20");
//変数tblに最初のテキストフレームの最初の表を割り当てます
//テキストフレームおよび表はドキュメントに存在している必要があります
var tbl = doc.textFrames[0].tables[0];
//tblで指定された表の4番目のセルに「BT20」という名前のセルスタイルを当てます
tbl.cells[3].appliedCellStyle = cs1;
» 2
[2273]追記 | 投稿者:お~まち | 投稿日:2009/01/23(Fri) 10:10:19
セルの指定方法では次のような表記も使えます。あまり知られていないようなので追記しておきます。

例)表の3列目、2行目のセルの場合
tbl.cells.itemByName("2:1")
» 3
[2275]Re: Java Scriptについて | 投稿者:gagle | 投稿日:2009/01/23(Fri) 10:19:41
お~まちさん

追記までして頂き,ありがとうございます

ExtendScript Toolkit 2 の、Adobe InDesign CS3 オブジェクトモデルというのはExtendScript Toolkit 2と同フォルダに存在するのでしょうか?
» 4
[2276]Re: Java Scriptについて | 投稿者:お~まち | 投稿日:2009/01/23(Fri) 10:30:45
ExtendScript Toolkit 2 のメニューの[ヘルプ]内にあります。
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)

このページをシェア