如何创建电源点VBA点,在不同的方向上四处移动,同时保持它们用直线连接?
-
19-09-2019 - |
题
有一两件事我想在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
希望帮助 好运拾音
不隶属于 StackOverflow