忍者ブログ

ぼんぷろぐ

InDesignとかイラレとかのスクリプトよもやま話

新しいブログに引っ越しました。

こちらのブログはもう更新しませんが、コメント欄は生きてますので疑問、ご指摘などありましたらどうぞ。

[InDesign]
アンカー付きオブジェクトをライブラリに登録するスクリプト

[ライブラリからアンカー付きオブジェクトを直接挿入する考察]
こちらで考えた手順を自動化しました。

使い方

①アンカー付きオブジェクトを選択して実行するとダイアログが出ます。
②登録先のライブラリを選択し、名前を入力してOKを押します。ライブラリに登録されます。


③好きな所にカーソルを置いて、ライブラリパネルから「アイテムを割り付け」すると…


④アンカー付きオブジェクトとして配置できます。

ちゅうい

・ライブラリを1つ以上開いてないと動きません。
・オブジェクトスタイルを使ってた場合はスタイルとのリンクが切れます。
・かわりにアンカー付きオブジェクトオプションだけ設定された新しいオブジェクトスタイルが適用されます。
・アンカー付きじゃない任意のページアイテムを選択して実行すると、普通のライブラリ登録として使えます。

app.doScript(function(){
    var myDocu=app.activeDocument;
    var Sel=myDocu.selection;
    if (Sel.length==0) exit();
    var Sel0=Sel[0];
    if (!Sel0.hasOwnProperty('store')) exit();
    if (app.libraries.length==0) exit();
    var LibraryList=app.libraries.everyItem().name;
    var myDialog1=app.dialogs.add({name:"ライブラリに登録"});
    with(myDialog1){
        with(dialogColumns.add()){
            with (dialogRows.add()){
                staticTexts.add({staticLabel:"登録先:"});
                var LibraryListDD=dropdowns.add({stringList:LibraryList, selectedIndex:0});
            }
            with (dialogRows.add()){
                staticTexts.add({staticLabel:"名前:"});
                var AssetNameTE=textEditboxes.add({minWidth:200});
            }
        }
    }
    if (!myDialog1.show()) exit();
    var myLibrary=app.libraries[LibraryListDD.selectedIndex];
    if (Sel0.parent.constructor.name=='Character'){
        var date=new Date;
        var myObjStyle=myDocu.objectStyles.add({name:AssetNameTE.editContents+"("+date.getTime()+")"});
        myObjStyle.properties={
            enableFill : false,
            enableStroke : false,
            enableStrokeAndCornerOptions : false,
            enableParagraphStyle : false,
            enableTextFrameGeneralOptions : false,
            enableTextFrameBaselineOptions : false,
            enableTextFrameAutoSizingOptions : false,
            enableStoryOptions : false,
            enableTextWrapAndOthers : false,
            enableAnchoredObjectOptions : true,
            enableFrameFittingOptions : false
        }
        var EffectsMUSHI={
            enableBevelEmboss : false,
            enableDirectionalFeather : false,
            enableDropShadow : false,
            enableFeather : false,
            enableGradientFeather : false,
            enableInnerGlow : false,
            enableInnerShadow : false,
            enableOuterGlow : false,
            enableSatin : false,
            enableTransparency : false
        }
        myObjStyle.contentEffectsEnablingSettings.properties=EffectsMUSHI;
        myObjStyle.fillEffectsEnablingSettings.properties=EffectsMUSHI;
        myObjStyle.objectEffectsEnablingSettings.properties=EffectsMUSHI;
        myObjStyle.strokeEffectsEnablingSettings.properties=EffectsMUSHI;
        myObjStyle.anchoredObjectSettings.properties=Sel0.anchoredObjectSettings.properties;
        Sel0.applyObjectStyle(myObjStyle);
        myLibrary.store(Sel0,{name:AssetNameTE.editContents});
    } else {
        myLibrary.store(Sel,{name:AssetNameTE.editContents});
    }
},ScriptLanguage.JAVASCRIPT,[],UndoModes.FAST_ENTIRE_SCRIPT);
                                                                            
                
PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

プロフィール

kawamoto_α
(あるふぁ(仮))


InDesignで新聞組版のようなことをしています。

ツイッタ

※ブラウザによっては当ブログからDLしたzipファイルが拡張子なしになることがあるようですが、.zipを補って開いてください。



イラレ用トーンカーブスクリプト(¥1500)



クロソイド式角丸長方形スクリプト(¥500)
Illustrator用
InDesign用



イラレスクリプトをキーボードショートカットで実行するやつ(Win用)