1

PowerPointVBAでやりたいことが1つあります。

メインウィンドウに、指定された座標で2つのドット(ドットAとドットB)を作成します。たとえば、A(232、464)とB(109、567)です。PowerPointVBAでそれを行う方法がわかりません。簡単な直線の作り方を知っています。私はそのためにこのマクロコードを使用します:

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

しかし、線ではなく点だけを作成するためにどのようなコードが必要になるのか、まだわかりません。

それでは、どういうわけかそれらのドットを動かしたいと思います。繰り返しますが、私は行全体または他のオブジェクトを移動するのがホットであることを知っています-そのために私はこのコードを使用します:

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

しかし、ドットを移動する方法がわかりません。特に、一方のドットを一方の方向に移動し(たとえば、上に移動する)、もう一方のドットを別の方向に移動する(たとえば、左に移動する)場合はわかりません。

なぜ私はそれをしたいのですか?後で、これらのドットをどの方向に動かしても、それらのドットを直線で「接続」することを計画しているためです。

あなたが答えを知っているなら、ここで私とそれを共有してください。

前もって感謝します。

4

1 に答える 1

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

それが幸運MikeDに役立つことを願っています

于 2009-11-10T08:39:12.743 に答える