Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » AddLineメソッドで直線を描くPowerPointマクロ

対象:PowerPoint2010, PowerPoint2013, Windows版PowerPoint2016

オブジェクトブラウザー:Shapes.AddLine

「powerpoint マクロ 直線 addline」
という検索キーワードでのアクセスに気付きましたので、いつものように簡単なサンプルをご紹介します。

[スポンサードリンク]

直線を引くサンプルマクロ

以下のSubプロシージャを実行すると、アクティブなプレゼンテーションの1枚目のスライドに直線が引かれます。
Sub 直線を引く()
 ActivePresentation.Slides(1).Shapes.AddLine _
   BeginX:=0, BeginY:=50, EndX:=200, EndY:=50
End Sub

ShapesコレクションオブジェクトのAddLineメソッドには、

オブジェクトブラウザー:Shapes.AddLine

始点の位置を指定するBeginX・BeginY、終点の位置を指定するEndX・EndYの4つの引数を必ず指定します。

上記のコードは
  ActivePresentation.Slides(1).Shapes.AddLine BeginX:=0, BeginY:=50, EndX:=200, EndY:=50
と1行でも書けますけれど長くて読み辛いので、拙著『いちばんやさしいExcel VBAの教本』のLesson 59「マクロ記録で使われる「行継続文字」について学習しましょう」でもご紹介している、

オブジェクトブラウザー:Shapes.AddLine

「 _」(スペースとアンダーバー)で物理的に改行しています。

直線を引いて書式設定を行うサンプルマクロ

直線を引いて、書式設定も行いたいということも多いでしょう。
その場合以下のSubプロシージャを参考にしてください。
Sub 直線を引いて書式設定を行う()
 Dim shp As Shape
 Set shp = ActivePresentation.Slides(1).Shapes.AddLine( _
   BeginX:=0, BeginY:=50, EndX:=200, EndY:=50)
 shp.Line.ForeColor.RGB = RGB(0, 255, 0)
 shp.Line.Weight = 5
 shp.Line.DashStyle = msoLineDashDotDot
End Sub

Shapes.AddLineメソッドは、

オブジェクトブラウザー:Shapes.AddLine

追加した直線を表すShapeオブジェクトを返します。

そこで、
  Dim shp As Shape
  Set shp = ActivePresentation.Slides(1).Shapes.AddLine( _
    BeginX:=0, BeginY:=50, EndX:=200, EndY:=50)
オブジェクト変数shpに、戻りをセットして、ShapeオブジェクトのLineプロパティで取得できるLineFormatオブジェクトの各種プロパティで書式設定を行っています。
 shp.Line.ForeColor.RGB = RGB(0, 255, 0)
 shp.Line.Weight = 5
 shp.Line.DashStyle = msoLineDashDotDot

カッコの要・不要

先述の、直線を追加するだけのSubプロシージャは、
  ActivePresentation.Slides(1).Shapes.AddLine _
    BeginX:=0, BeginY:=50, EndX:=200, EndY:=50
でしたけれど、このSubプロシージャではオブジェクト変数にセットするために、
  Set shp = ActivePresentation.Slides(1).Shapes.AddLine( _
    BeginX:=0, BeginY:=50, EndX:=200, EndY:=50)
とShapes.AddLineメソッドの4つの引数をカッコで括る必要があります。

これは拙著『いちばんやさしいExcel VBAの教本』のp.153のワンポイント「VBAでは戻り値を使わない場合にカッコを付けない」でもご紹介している、

戻りを使う場合にはカッコが必要で、使わない場合にはカッコが不要の一例です。

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » AddLineメソッドで直線を描くPowerPointマクロ

「Shapesコレクション・Shapeオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.