Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » コネクタを削除するPowerPointマクロ

対象:PowerPoint2007, PowerPoint2010, PowerPoint2013

コネクタを削除するPowerPointマクロ

図形(オートシェイプ)とコネクタを使って図を描いていると、コネクタだけをまとめて削除したいということが、時々発生します。

そんなときに使えるPowerPointマクロを作ったのでご紹介しておきます。

[スポンサードリンク]

アクティブスライド上の全コネクタを削除するサンプルマクロ

以下のようなマクロで、アクティブなスライド上のコネクタをすべて削除できます。

Sub アクティブスライド上の全コネクタを削除する()
 Dim i As Long

 With ActiveWindow.Selection.SlideRange.Shapes
  For i = .Count To 1 Step -1
   If .Item(i).Connector Then
    .Item(i).Delete
   End If
  Next i
 End With
End Sub

アクティブなスライド上の全ShapeにFor~Nextループを後ろから回して、
  With ActiveWindow.Selection.SlideRange.Shapes
   For i = .Count To 1 Step -1

Shapeがコネクタだったときに、
    If .Item(i).Connector Then

削除を行っています。
     .Item(i).Delete

ShapeオブジェクトのConnectorプロパティで、コネクタかどうかを判定できます。

コネクタを削除するPowerPointマクロ

コネクタかどうかを判定するプロパティですから、IsConnectorといった名前のほうが良かったんじゃないかという気もしますが...

選択範囲内のコネクタだけを削除するサンプルマクロ

以下のようなマクロにすれば、選択範囲内のコネクタだけを削除できます。

Sub 選択範囲内のコネクタを削除する()
 Dim i As Long

 With ActiveWindow.Selection.ShapeRange
  For i = .Count To 1 Step -1
   If .Item(i).Connector Then
    .Item(i).Delete
   End If
  Next i
 End With
End Sub

For~Nextループを回す対象が、アクティブスライド上の全コネクタを削除するマクロでは、
  With ActiveWindow.Selection.SlideRange.Shapes

となっていましたが、選択範囲内のコネクタを削除するマクロでは、
  With ActiveWindow.Selection.ShapeRange

となっているところだけが異なっています。

関連語句
VBA, Visual Basic for Applications
[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » コネクタを削除するPowerPointマクロ

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

検索


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

.