[InDesign JavaScript] 指定したページを表示する

例)2ページ目を表示する。 app.activeWindow.activePage = app.activeDocument.pages.item(1);

[InDesign JavaScript] 選択しているアイテムを整列させる(等間隔に分布 編)

例(水平方向に等間隔に分布、マージンに揃える) app.activeDocument.distribute(app.activeDocument.selection,DistributeOptions.HORIZONTAL_SPACE,AlignDistributeBounds.MARGIN_BOUNDS,false); distribute( ItemObject, DistributeOpsions [, AlignDist…

[InDesign JavaScript] 選択しているアイテムを整列させる(オブジェクトの分布 編)

例(水平方向中央を基準に分布、マージンに揃える) app.activeDocument.distribute(app.activeDocument.selection,DistributeOptions.HORIZONTAL_SPACE,AlignDistributeBounds.MARGIN_BOUNDS,false); distribute( ItemObject, DistributeOpsions [, AlignDi…

[InDesign JavaScript] 選択しているアイテムを整列させる(オブジェクトの整列 編)

例(上揃え、選択範囲に揃える) app.activeDocument.align(app.activeDocument.selection,AlignOptions.TOP_EDGES,AlignDistributeBounds.ITEM_BOUNDS,false); align( ItemObject, AlignOptions [, AlignDistributeBounds, useDistributeMeasurement, absol…

[InDesign JavaScript] アイテムに関連付けされているXMLの情報を取得する

var mySec = app.activeDocument.selection[0]; alert(mySec.associatedXMLElement.markupTag.name);※例はタグ名を表示 これの逆パターンで、XMLに関連付けされているアイテムのプロパティーを取得するやり方はどうやるんだろう?

[InDesign JavaScript] テキストフレームとかの効果設定(乗算とかオーバーレイとか)

myDoc = app.activeDocument; myFrame = myDoc.textFrames.add();myFrame.transparencySettings.blendingSettings.blendMode = BlendMode.EXCLUSION;※参考(その他) BlendMode.COLOR BlendMode.COLOR_BURN BlendMode.COLOR_DODGE BlendMode.DARKEN BlendMod…

[InDesign JavaScript] フレームの面に色をつける

var myDoc = app.activeDocument; var myFrame = myDoc.textFrames.add(); myFrame.geometricBounds = [0, 0,100,100];myFrame.fillColor = "C=0 M=0 Y=100 K=0"; ※参考 色(スウォッチ)を作成する

[InDesign JavaScript] フレームの線の太さを変更する

var myDoc = app.activeDocument; var myFrame = myDoc.textFrames.add(); myFrame.geometricBounds = [0, 0,100,100];myFrame.strokeColor = "C=100 M=0 Y=0 K=0"; myFrame.strokeWeight = "0.25mm";※注意 フレームの線に色が付いていないと線の太さが変更…

[InDesign JavaScript] フレームの線に色をつける

var myDoc = app.activeDocument; var myFrame = myDoc.textFrames.add(); myFrame.geometricBounds = [0, 0,100,100];myFrame.strokeColor = "C=100 M=0 Y=0 K=0"; ※参考 色(スウォッチ)を作成する

[InDesign JavaScript] マスターページを適用する

var myDoc = app.activeDocument; var myPage = myDoc.pages.item(0);myPage.appliedMaster = myDoc.masterSpreads.item("A-マスター");

[InDesign JavaScript] 見開きドキュメントのフレーム移動にハマった

ハマった状況 既に複数ページが作成されていて、ページを挿入し、そのページにフレームを作成しました。結果的には挿入したページは右ページとなり、そこにテキストフレームを作成し、移動させると、なんと左ページに移動してしまった。そのフレームの座標は…

[InDesign JavaScript] ルーラー(定規?)の座標を設定する

var myDoc = app.activeDocument;myDoc.zeroPoint = [100,100];現在の位置からから幾つではなくて、書類の左肩がどの位置になるかを設定する。 上の設定だとこんな感じ

定規の開始位置

var myDoc = app.activeDocument;myDoc.viewPreferences.rulerOrigin = RulerOrigin.SPREAD_ORIGIN; //スプレッド myDoc.viewPreferences.rulerOrigin = RulerOrigin.SPINE_ORIGIN; //ノド元 myDoc.viewPreferences.rulerOrigin = RulerOrigin.PAGE_ORIGIN; …

ドキュメントに読み込まれているXMLを変数にセットする

var myDoc = app.activeDocument; var myXML = myDoc.associatedXMLElement;

ページを追加する(指定したページに)

var myDoc = app.activeDocument; var myPoint = myDoc.pages.item(2); var myPage = myDoc.pages.add(LocationOptions.AFTER,myPoint);※参考 LocationOptions.AFTER //たぶん指定ページの後 LocationOptions.AT_BEGINNING //・・・(汗 LocationOptions.AT_…

ページを追加する(最終ページに)

var myDoc = app.activeDocument; var myPage = myDoc.pages.add();

ページを指定してノンブルを取得する

var myPage = app.activeDocument.pages.item(3); alert(myPage.name);

選択したオブジェクトがあるページのノンブルを取得

var frame = app.activeDocument.selection[0]; alert(frame.parent.name);

FilemakerとInDesignでプチ自動組版(名刺作成)

プチ自動組版なので __∧ノ_ (゚д゚) ゚( )− / > てな感じで始めます。よろしくお願いします。_(._.)_ まず、出来なかった事から先に書いておきます。 出来れば設定いらずで運用できるようにしたかったのですが、外部アプリからVBSを実行させるとカレントディレク…

テキストフレーム(ストーリー)に文字のサイズ、行送り、書体、行揃えを設定する

var frame = app.activeDocument.selection[0]; frame.parentStory.pointSize = "13q"; frame.parentStory.leading = "20ha"; frame.parentStory.justification = Justification.rightAlign; frame.parentStory.appliedFont = app.fonts.item("小塚ゴシック …

二分探索っぽくオーバーフロー処理をしてみたサンプル

#target "InDesign" myDoc = app.documents.add(); frame = myDoc.textFrames.add(); frame.geometricBounds = ["0","0","5","50"]; frame.parentStory.contents = "吾輩(わがはい)は猫である。名前はまだ無い。";//関数呼び出し if(chotai(frame,60)) ale…

現在の日付、時刻を取得

var d = new Date(); alert(d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate() + " " + d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds());d.getFullYear() //年 d.getMonth() + 1 //月(なぜか前月が入るので+1) d.getDate()…

単位の変更

[JavaScript] var myDoc = app.activeDocument; //定規の水平方向 myDoc.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.MILLIMETERS; //定規の垂直方向 myDoc.viewPreferences.verticalMeasurementUnits = MeasurementUnits.MILLIMETERS; …

選択したフレームにスクリプトラベルを設定する

[JavaScript] var frame = app.activeDocument.selection[0]; frame.label = "画像枠";[VBScript] Set app = CreateObject("InDesign.Application") Set frame = app.activeDocument.selection(1) frame.label = "画像枠"※参考 スクリプトラベルが設定されて…

InDesign JavaScript内の正規表現

var phone = "電話番号 03-1234-9876"; phone = phone.replace(/([0-9]+)-([0-9]+)-([0-9]+)/g,"($1)$3-$2"); - phoneの中 : 電話番号 (03)9876-1234以下の様に記述することも出来る phone = phone.replace(RegExp("([0-9]+)-([0-9]+)-([0-9]+)","g"),"($1)$…

フレームの移動

1.ドキュメントの座標値で移動 (配列で [横座標 , 縦座標] ) [JavaScript] var frame = app.activeDocument.selection[0]; frame.move ([10,10]);[VBScript] Set app = CreateObject("InDesign.Application") Set frame = app.activeDocument.selection(…

引数を取得する

//InDesign Desktop版でVBSのDoScriptから引数を取得する場合 arguments[0] //InDesign Serverの場合 var id = app.scriptArgs.get("id")引数の名前で取得できます。サンプルの場合は id という名前で引数値を取得しています。

オーバーフローしたテキストを長体で押し込む

[JavaScript] var frame = app.activeDocument.selection[0]; try{ while(frame.overflows){ frame.parentStory.horizontalScale = frame.parentStory.horizontalScale - 1; } }catch(e){ frame.parentStory.horizontalScale = 100; alert("長体かけまくりま…

テキストフレームのオーバーフロー(溢れ)値を取得する

[JavaScript] var frame = app.activeDocument.selection[0]; alert(frame.overflows);[VBScript] Set app = CreateObject("InDesign.Application") Set frame = app.activeDocument.selection(1) msgbox frame.overflowsオーバーフローしている場合 True オ…

グラフィックス化(アウトライン化)

[JavaScript] var frame = app.activeDocument.selection[0]; frame.createOutlines();[VBScript] Set app = CreateObject("InDesign.Application") Set frame = app.activeDocument.selection(1) frame.createOutlines()※注意 アンダーラインとか使っている…