使用VBA获取导向的精确x / y位置以将形状与它们精确对齐

时间:2019-07-03 07:23:44

标签: vba powerpoint powerpoint-vba

有什么方法可以使用VBA获得精确的精度(例如,包括小数位在内)在准则的x / y位置吗?

通过VBA在PPT中获取参考线的位置时,结果不符合要求。小数位省略。这使我感到困惑,因为变量类型是“ Single”,应该包含小数位。

总体目标是使用VBA将各种形状“捕捉”到引导中。用例:用户选择一个或多个形状,并希望通过单击按钮将它们全部对齐到演示文稿中最左边的参考线。

到目前为止,我的代码可以正常工作,唯一的问题是形状未与导向精确对齐。

Sub align_left()
    Dim shp As Shape
    Dim gd As Guide
    With ActiveWindow.Selection
        On Error Resume Next
        x_gd = ActiveWindow.Width

        MsgBox x_gd

        For Each gd In ActivePresentation.SlideMaster.Guides
            If gd.Orientation = ppVerticalGuide And gd.Position < x_gd Then
                x_gd = gd.Position
            End If
        Next

        MsgBox x_gd

        For Each shp In .ShapeRange
            shp.Left = x_gd
        Next

    End With
End Sub

预期:将形状“对齐”到辅助线。 实际:形状被移至靠近参考线的位置,但是根据参考线位置,参考线和形状之间仍然存在间隙。

0 个答案:

没有答案