Hatena::ブログ(Diary)

はいさい! InDesign JavaScript CS3

このブログにはWEB用のJavaScriptはありません。
記事一覧 |  InDesign |  JavaScript |  VBScript |  Filemaker

2009-09-02

フレームサイズの取得

[JavaScript]

var frame = app.activeDocument.selection[0];
var y  = frame.visibleBounds[0];  //左上 y
var x  = frame.visibleBounds[1];  //左上 x
var y1 = frame.visibleBounds[2];  //右下 y1
var x1 = frame.visibleBounds[3];  //右下 x1

[VBScript]

Set app = CreateObject("InDesign.Application")
Set frame = app.activeDocument.selection(1)
y  = frame.visibleBounds(0)  '左上 y
x  = frame.visibleBounds(1)  '左上 x
y1 = frame.visibleBounds(2)  '右下 y1
x1 = frame.visibleBounds(3)  '右下 x1

f:id:oimoh:20090902165928p:image

※参考

 現在のフレームサイズから縦サイズ+10mm変更の場合

[JavaScript]

frame.visibleBounds = [ frame.visibleBounds[0],frame.visibleBounds[1],frame.visibleBounds[2]+10,frame.visibleBounds[3] ];

[VBScript]

frame.visibleBounds = Array( frame.visibleBounds(0),frame.visibleBounds(1),frame.visibleBounds(2)+10,frame.visibleBounds(3) )

フレームサイズの変更

[JavaScript]

var frame = app.activeDocument.selection[0];
frame.visibleBounds = ["10","10","100","100"];

[VBScript]

Set app = CreateObject("InDesign.Application")
Set frame = app.activeDocument.selection(1)
frame.visibleBounds = Array(10,10,100,100)

※座標値

frame.visibleBounds = ["y","x","y1","x1"];

f:id:oimoh:20090902165928p:image

visibleBoundsの他にgeometricBoundsもあります。

違いはどちらかが線幅を含みます。どっちだっけなぁ(汗)


※追記

visibleBoundsが線幅を含むそうです。

覚え方はコメント参照

画像フレームの作成

[JavaScript]

frame = myDoc.textFrames.add();
frame.contentType = ContentType.GRAPHIC_TYPE;

[VBScript]

Set app = CreateObject("InDesign.Application")
Const idGraphicType = 1735553140
Set myDoc = app.ActiveDocument
Set frame = myDoc.textFrames.add()
frame.contentType = idGraphicType

※テキストフレームを作って、それを画像フレームに変換します。


※参考

画像フレームに画像を貼り込む

テキストフレームの作成

[JavaScript]

var myDoc = app.activeDocument;
frame = myDoc.textFrames.add();

[VBScript]

Set app = CreateObject("InDesign.Application")
Set myDoc = app.ActiveDocument
Set frame = myDoc.textFrames.add()

ドキュメントサイズの変更

[JavaScript]

var myDoc = app.activeDocument;
myDoc.documentPreferences.pageWidth = "150mm";
myDoc.documentPreferences.pageHeight = "150mm";

[VBScript]

Set app = CreateObject("InDesign.Application")
Set myDoc = app.ActiveDocument
myDoc.documentPreferences.pageWidth = "150mm"
myDoc.documentPreferences.pageHeight = "150mm"

例)縦横150mm

新規ドキュメント作成

[JavaScript]

myDoc = app.documents.add();

[VBScript]

Set app = CreateObject("InDesign.Application.CS3_J")
Set myDoc = app.Documents.add()