2009-11-10 42 views
1

我想在PowerPoint VBA中做一件事。如何在Power Point 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 

但我不知道怎麼動點,尤其是如果我想搬到一個點的一種方式(例如,將其向上移動),另一個點以另一種方式移動(例如,將其移動到左側)。

爲什麼我要這麼做? 因爲後來我打算讓這些點通過直線「連接」,無論我移動這些點的方向如何。

如果你知道答案,請與我在這裏分享。

預先感謝您。

回答

4

,以創造一個「點」使用「橢圓形」形狀,即一個小圓圈,在這裏你可以設置線條和填充顏色相同的,即

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 

希望幫助 好運拾音

+0

WOW !!!!邁克,謝謝你太多了! 太糟糕了,我現在不能投票,因爲我的聲望還不是15分。 (有沒有其他方法可以將你的答案標記爲完整正確?) 我保證,只要我得到15分的聲望,我就會投票贊成你現在的答案。 再次感謝。 – brilliant 2009-11-10 09:30:34

+1

沒關係 - 你已經接受了解決方案,這對我來說是足夠的回報。我不打算打破世界紀錄,只是分享我可以輕鬆分享的內容。順便說一句...經常使用任何Office程序中的「記錄宏」功能,它將使您快速瞭解一些屬性和方法。 – MikeD 2009-11-11 09:33:20

相關問題