如何创建电源点VBA点,在不同的方向上四处移动,同时保持它们用直线连接?

StackOverflow https://stackoverflow.com/questions/1705965

有一两件事我想在PowerPoint VBA做。

我想创建在主窗口中的两个点 - 点A和点乙 - 通过给定的坐标:例如,A(232,464)和B(109,567)。我不知道如何做到这一点在PowerPoint VBA。我知道如何创建一个简单的直线。我用这个宏代码为:

Sub CreateLine()
    ActiveWindow.Selection.SlideRange.Shapes.AddLine(192#, 180#, 360#, 252#).Select
End Sub

但我还是不知道怎么样的代码,我将需要创建只是点,没有行。

然后,我想以某种方式移动的那些点。 再次,我知道热移动整行或其它物体 - 对于我使用此代码:

Sub move()
    ActiveWindow.Selection.ShapeRange.IncrementLeft 6#
End Sub

但我不知道怎么动点,尤其是如果我想搬到一个点的一种方式(例如,将其向上),另一点的另一种方式(例如,将其移动到左)。

为什么我要这么做? 因为后来我打算继续用直线“连接”这些点,无论哪个方向我搬完点。

如果你知道答案,请与我分享在这里。

感谢您提前。

有帮助吗?

解决方案

,以创建一个“点”使用“椭圆形”形状,即一个小圆圈,在这里可以设置线和填充颜色为相同,即。

Sub DoDot()

    'create a circular shape    
    ActiveWindow.Selection.SlideRange.Shapes.AddShape(msoShapeOval, 144.5, 150.88, 11.38, 11.38).Select

    With ActiveWindow.Selection.ShapeRange

        ' color it
        .Line.ForeColor.SchemeColor = ppAccent1
        .Line.Visible = msoTrue
        .Fill.ForeColor.SchemeColor = ppAccent1
        .Fill.Visible = msoTrue
        .Fill.Solid

        ' move it
        .Top = 10
        .Left = 10

    End With
End Sub

我这里使用的SchemeColor属性来着色形状,可以当然使用显式的RGB颜色为好。

后来,如果你想点用直线连接起来,你要么需要移动的点和 (重新)建立在它们之间的线,或使用点状线端类型

Sub LineWithEndType()
    ActiveWindow.Selection.SlideRange.Shapes.AddLine(195.62, 162.25, 439.38, 309.75).Select
    With ActiveWindow.Selection.ShapeRange
        .Line.Visible = msoTrue
        .Fill.Transparency = 0#
        .Line.BeginArrowheadStyle = msoArrowheadOval
        .Line.EndArrowheadStyle = msoArrowheadOval
        .Line.BeginArrowheadLength = msoArrowheadLong
        .Line.BeginArrowheadWidth = msoArrowheadWide
        .Line.EndArrowheadLength = msoArrowheadLong
        .Line.EndArrowheadWidth = msoArrowheadWide
    End With

End Sub

希望帮助 好运拾音

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top