Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » テキストボックスと吹き出しの違いを確認するPowerPointマクロ

テキストボックスと吹き出しの違いを確認するPowerPointマクロ

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

「powerpoint vba テキストボックスと吹き出しの違い」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

Shapeオブジェクトの一種である、テキストボックスと図形の吹き出しの違いについて調べている方による検索でしょうか。

ローカルウィンドウを確認したり、オブジェクトブラウザーを確認したりしない限りは、いくら説明を読んだところで納得はできないはずですから、参考になりそうなマクロを2つご紹介しておきます。

[スポンサードリンク]

テキストボックスと吹き出しを作成するサンプルマクロ

一つ目は、アクティブなプレゼンテーションファイルの先頭のスライドに、テキストボックスと吹き出しを作成するマクロです。

Sub 先頭のスライドにテキストボックスと吹き出しを挿入する()

 Dim shp_txt As Shape ' Textbox(テキストボックス)
 Dim shp_clo As Shape ' Callout(吹き出し)

 With ActivePresentation.Slides(1).Shapes

  Set shp_txt = .AddTextbox( _
    Orientation:=msoTextOrientationHorizontal, _
    Left:=100, _
    Top:=100, _
    Width:=160, _
    Height:=80)
  shp_txt.TextFrame.TextRange.Text = "テキストボックス"

  Set shp_clo = .AddShape( _
    Type:=msoShapeOvalCallout, _
    Left:=200, _
    Top:=200, _
    Width:=160, _
    Height:=80)
  shp_clo.TextFrame.TextRange.Text = "吹き出し"

 End With

End Sub

上記のマクロを実行すると、先頭のスライドに「テキストボックス」という文字列の入力されたテキストボックスと、「吹き出し」と入力された吹き出し図形が作成されます。

ローカルウィンドウで、オブジェクト変数・shp_txtとshp_cloが、どのような情報を持っているのかを確認しつつ、実行してみることをおすすめします。

アクティブスライド上のShapeのTypeとAutoShapeTypeを確認するサンプルマクロ

二つ目は、アクティブなスライド上のShapeを順番に選択して、Shape.Typeプロパティの値と、Shape.AutoShapeTypeプロパティの値をメッセージボックスに表示するマクロです。

Sub アクティブスライド上のShapeのTypeとAutoShapeTypeを確認する()

 Dim shp As Shape

 For Each shp In ActiveWindow.Selection.SlideRange.Shapes
  shp.Select
  MsgBox _
    shp.Type & "(Type)" & vbCrLf & _
    shp.AutoShapeType & "(AutoShapeType)"
 Next shp

End Sub

先にご紹介した、先頭のスライドにテキストボックスと吹き出しを挿入するマクロを実行後に、その先頭のスライドをアクティブにしておいて、このアクティブスライド上のShapeのTypeとAutoShapeTypeを確認するマクロを実行すると、まずテキストボックスが選択されて、下図のようなメッセージボックスが表示され、

テキストボックスと吹き出しの違いを確認するPowerPointマクロ

その後、吹き出し図形が選択されて、下図のようなメッセージボックスが表示されます。

テキストボックスと吹き出しの違いを確認するPowerPointマクロ

これが、
「powerpoint vba テキストボックスと吹き出しの違い」
という検索に対する回答です。

こちらも、ローカルウィンドウで、オブジェクト変数・shpが、どのような情報を持っているのかを確認しつつ、実行してみることをおすすめします。

オブジェクトブラウザーを調べましょう

あとは、オブジェクトブラウザーで、以下の項目を最低限確認してみてください。

  • Shapesコレクションオブジェクトの
    AddTextBoxメソッドとAddShapeメソッド
  • Shapeオブジェクトの
    TypeプロパティとAutoShapeTypeプロパティ
  • MsoShapeType列挙に定義されている
    定数msoTextBoxと定数msoAutoShape
  • MsoAutoShapeType列挙に定義されている
    定数msoShapeRectangleと定数msoShapeOvalCallout
[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » テキストボックスと吹き出しの違いを確認するPowerPointマクロ

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

検索


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

.