Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » PowerPoint VBAでテキストボックスの枠線を設定する

PowerPoint VBAでテキストボックスの枠線を設定する

対象:PowerPoint2007, PowerPoint2010, PowerPoint2013, Windows版PowerPoint2016

PowerPoint VBAでテキストボックスの枠線を設定する

「テキストボックス 罫線 vba powerpoint」
という検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがありました。

「罫線」と表現されていますが「枠線」のことでしょうか。

テキストボックスの枠線の書式設定を行うVBAマクロを2つご紹介しておきます。

[スポンサードリンク]

アクティブスライドのテキストボックスの枠線を設定するサンプルマクロ

以下のようなマクロで、アクティブなスライドの、テキストボックスの枠線の書式を設定できます。

Sub テキストボックスの枠線を設定する_アクティブスライド()
 Dim sld As SlideRange
 Dim shp As Shape

 Set sld = ActiveWindow.Selection.SlideRange
 For Each shp In sld.Shapes
  If shp.Type = msoTextBox Then
   With shp.Line
    .Style = msoLineSingle
    .DashStyle = msoLineSolid
    .Weight = 1
    .ForeColor.RGB = RGB(255, 0, 0)
   End With
  End If
 Next shp
End Sub

ShapeオブジェクトのLineプロパティで取得できる、

PowerPoint VBAでテキストボックスの枠線を設定する

LineFormatオブジェクトを利用すると、

PowerPoint VBAでテキストボックスの枠線を設定する

図形の枠線を設定することができます。

プロパティ名(.Line)と、返されるオブジェクト名(LineFormat)が異なっているという点に注意が必要です。

アクティブスライドの全テキストボックスの枠線設定だけを行うのならば、
  For Each shp In ActiveWindow.Selection.SlideRange.Shapes
でいいのですが、ここでは次にすべてのスライドに対して同様の処理をするSubプロシージャを見る関係で、あえて
  Dim sld As SlideRange
  Set sld = ActiveWindow.Selection.SlideRange
  For Each shp In sld.Shapes
としています。

アクティブなプレゼンテーションの全テキストボックスの枠線を設定するサンプルマクロ

以下のようなマクロにすれば、アクティブなプレゼンテーションファイルの、全スライドの、全テキストボックスの書式を設定できます。

Sub テキストボックスの枠線を設定する_全スライド()
 Dim sld As Slide
 Dim shp As Shape

 For Each sld In ActivePresentation.Slides
  For Each shp In sld.Shapes
   If shp.Type = msoTextBox Then
    With shp.Line
     .Style = msoLineSingle
     .DashStyle = msoLineSolid
     .Weight = 1
     .ForeColor.RGB = RGB(255, 0, 0)
    End With
   End If
  Next shp
 Next sld
End Sub

全スライドに対するFor Each~Nextループの中に、
  For Each sld In ActivePresentation.Slides
前述のアクティブスライドのテキストボックスの枠線を設定するマクロで行っている処理が入っています。

アクティブスライドのテキストボックスの枠線を設定するマクロは、
  Set sld = ActiveWindow.Selection.SlideRange
というオブジェクト式を利用しているので、

PowerPoint VBAでテキストボックスの枠線を設定する

オブジェクト変数・sldを「As SlideRange」で宣言しているのに対し、全スライドのテキストボックスの枠線を設定するマクロは、
  For Each sld In ActivePresentation.Slides
と、Slidesコレクションオブジェクトの各Slideオブジェクトに対して処理するために、

PowerPoint VBAでテキストボックスの枠線を設定する

オブジェクト変数・sldを「As Slide」で宣言している部分が、PowerPointのオブジェクトモデルをしっかりと理解できていない方には要注意かもしれません。

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » PowerPoint VBAでテキストボックスの枠線を設定する

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

検索


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

.