在幻灯片上重新定位形状和文本框

Reposition shape and text box on a slide

我想实现当我 select 形状或文本框时它们将移动到幻灯片上的相同位置(底部对齐)。我的形状和文本框的高度不同,例如对于文本框,有些是一行,有些是多行。文本框中的文字在 ppt 中与 Bottom 对齐。

我试过使用代码 .top,但它会将包含两行或更多行的文本框移出幻灯片区域。尝试修复 selected 形状或文本框是否处于不同高度,然后它将停留在左下角,从底部向上移动并停留在幻灯片上。下面是我到目前为止的代码。谢谢

 Sub PositionShape()
     Dim oshp As Shape
     On Error Resume Next

     Set oshp = ActiveWindow.Selection.ShapeRange(1)

     With oshp
         .LockAspectRatio = False
         .Left = 0.5 * 72
         .Top = 7.3 * 72
     End With

 End Sub

这会将形状的底部移动到幻灯片的底部:

Sub PositionShape()
  Dim oshp As Shape
  Dim SlideHeight&
  SlideHeight& = Application.ActivePresentation.PageSetup.SlideHeight
  Set oshp = ActiveWindow.Selection.ShapeRange(1)
  With oshp
    .Left = 0.5 * 72
    .Top = SlideHeight& - .Height
  End With
 End Sub