##概要
Excelで画像を複数貼り付けた場合に、デフォルトだと斜めに重なってに並んでしまうので、縦並びに整列したい。
手作業だと時間が掛かってしょうがないので、マクロ化しました。
##コード
選択中の画像整列.vbs
Sub 選択中の画像整列()
Dim isFirst As Boolean: isFirst = True
Dim left As Integer: left = 0
Dim shp As Shape
'選択中の画像内で一番左端の座標を取得
For Each shp In Selection.ShapeRange
If isFirst Then
'最初のオブジェクトの左座標を初期値とする
left = shp.left
isFirst = False
End If
left = Application.WorksheetFunction.Min(shp.left, left)
Next shp
Dim befourButtom As Integer
befourButtom = 0
For Each shp In Selection.ShapeRange
If befourButtom <> 0 Then
'重ならないように、前のオブジェクトの少し下に配置する
shp.Top = befourButtom + 5
End If
'左座標は一番左のものに合わせる
shp.left = left
befourButtom = shp.Top + shp.Height
Next shp
End Sub
##課題
画像は座標順ではなく挿入順でソート並ぶ為、現在の座標でソートさせたい場合は改修が必要