2009年1月28日水曜日

スクリプトでタグ付きフレームの画像を削除するとタグが抜ける?


InDesignCS3です。こんな感じに、タグ付フレームに入った画像があったとします。
試しに、ひとつ画像を選択して、
var selObj=app.activeDocument.selection[0];
selObj.allGraphics[0].remove();

すると、画像と一緒にXMLのタグも画像フレームから外れてしまいます。

あれー…??

仕方がないんで、タグ部分をいったん退避してから削除して、フレームにもう一度結びつけ直しました。
var selObj=app.activeDocument.selection[0];
//タグを退避させる
var tag=selObj.associatedXMLElement;
//タグから画像のリンクを削除
tag.xmlAttributes[0].remove();
//画像を削除
selObj.allGraphics[0].remove();
//フレームにタグを結び直す
selObj.placeXML(tag);
//テキストフレームになってしまうので、画像フレームに戻す
selObj.contentType=ContentType.GRAPHIC_TYPE;

これで、とりあえずフレームにタグを残す事はできました。

ただ、これはもっと上手い方法があるような気が…
こういう場合はどこをどう削除すればいいんでしょう?

2009年1月18日日曜日

Adobe Creative Suite 4 のインストールが「準備中」で止まる

かなり稀なケースだと思うのですが、どこかで同じトラブルが起こった時のために…。

会社でAdobe Creative Suite 4 Design Standardを買ってもらったので、早速社用Macにインストールしようとした。ところが、インストーラを立ち上げて、シリアル入れて、規約に同意して、簡易インストールで、と来た所で「インストール」をクリックしても『インストールを準備しています』の表示で止まってしまい、そこから先に進まない。
Adobeサポートのインストール時におけるトラブルシューティング等を読みながら、セーフブート起動やアクセス権の修復やいろいろやってみたが、どうやっても先に進まない。

あらかた思いつく手を全て試した後で、画面が止まる理由を考えた。自分、なにかよけいな事したか?
あっ、と思い出した。機能を確かめようと思って、先にExtendScript Toolkit CS4だけを落としてインストールしてあったのだ。急いでそれを抜いてもう一度試したら、無事にインストールできた。

もしCS4購入前に体験版やら何やらを試していたならば、先にそれらをアンインストールしておいた方がいいかも知れません。以上。