var d = activeDocument;
var fp = d.fullName.toString();
var f = new File(fp.split(".psd")[0]+"_fix.psd");
var out = d.duplicate();
out.flatten();
out.saveAs(f);
コーダーの人にPSDを渡す際にレイヤーを1つに統合しておくと効率が良いそうなので、書きました。
開いているPSDと同じ階層に"_fix"とついたPSDができます。
統合したあとうっかり保存して閉じてしまう心配もありません。
(編集中のデータには変更を加えず新しいドキュメントを複製し、そちらを統合するようにしました)
Windows, MacのCS3で動作確認済。
Adobe Photoshop CS3/プリセット/スクリプトフォルダ以下に入れておくとメニューから選べて便利。
ロールオーバー用のレイヤーを残したい場合はそれらを非表示にし、flatten()ではなくmergeVisibleLayers()を使うなど、用途に合わせて使い分けるといいと思います。レイヤーカンプで切り替えを作っておくと親切。もてます。