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

ppt*_*bot 1 powerpoint vba powerpoint-2016

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

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

 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
Run Code Online (Sandbox Code Playgroud)

Joh*_*hok 5

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

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
Run Code Online (Sandbox Code Playgroud)