選択したオブジェクトをドキュメントの中心に移動させます。手のひらツールとコピー&ペーストの組み合わせでもで来ますが表示を変更せずに処理出来るメリットを考慮してみました。
// アクティブなドキュメントを取得
var doc = app.activeDocument;
// 選択されたオブジェクトを取得
var selectedObjects = doc.selection;
// 選択されたオブジェクトが存在する場合
if (selectedObjects.length > 0) {
// ドキュメントの幅と高さを取得
var docWidth = doc.width;
var docHeight = doc.height;
// 選択されたオブジェクトの境界ボックスを取得
var selectedBounds = selectedObjects[0].geometricBounds;
// 選択されたオブジェクトの中心座標を計算
var centerX = (selectedBounds[0] + selectedBounds[2]) / 2;
var centerY = (selectedBounds[1] + selectedBounds[3]) / 2;
// 移動先の座標を計算
var moveToX = docWidth / 2 - centerX;
var moveToY = (docHeight / 2 - centerY) - docHeight;
// 選択されたオブジェクトを移動
selectedObjects[0].translate(moveToX, moveToY);
} else {
alert("オブジェクトが選択されていません。");
}
上図の左端の状態で当初は以下のソースにしたのですが・・・
// 移動先の座標を計算
var moveToX = docWidth / 2 - centerX;
var moveToY = docHeight / 2 - centerY;
// 移動先の座標を計算
var moveToX = docWidth / 2 - centerX;
var moveToY = (docHeight / 2 - centerY) - docHeight;