在幻灯片上重新定位形状和文本框
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
我想实现当我 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