Flash CS3 に効果たっぷりのpsdをインポートの件

Flash CS3 にpsdをインポートする際、効果がかかってるレイヤーが
結構いまいちなかんじで読まれます。
ドロップシャドウとかが別のシンボルになったりして。
Photoshopで効果かかってるレイヤーを新規レイヤーと結合すると効果がビットマップになるけど
すごい数のレイヤーにそれをするのは超うんざり。
なので全部のレイヤーをスマートオブジェクトにしてインポートすることにしました。
ScriptingListener.plugin を入れてPhotoshopを起動して、
レイヤーを適当にスマートオブジェクト化したりする。
デスクトップのScriptingListenerJS.logに
var id67 = stringIDToTypeID( "newPlacedLayer" );
みたいなのが書かれてて、これが選択中レイヤーをスマートオブジェクト化するアクションらしい。
convertLayerToSmartObject.jsx書類を作成。中身は


//---
convertLayerToSmartObject(app.activeDocument);


function convertLayerToSmartObject(docRef) {
// アクション定義
var id67 = stringIDToTypeID( "newPlacedLayer" );

for (var x = 0; x < docRef.layers.length; x++) {
// 各レイヤーを選択
app.activeDocument.activeLayer = docRef.layers[x];
if (app.activeDocument.activeLayer.typename == "LayerSet") {
convertLayerToSmartObject(app.activeDocument.activeLayer);
} else {
// アクション実行
executeAction( id67, undefined, DialogModes.NO );
}
}
}
//---


このjsxをファイル→スクリプト→参照 で開くと、
全レイヤーがスマートオブジェクトになります。
そのpsdを保存してFlash CS3で読むとハッピーでした。