「powerpoint vba テキストボックスと吹き出しの違い」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
Shapeオブジェクトの一種である、テキストボックスと図形の吹き出しの違いについて調べている方による検索でしょうか。
ローカルウィンドウを確認したり、オブジェクトブラウザーを確認したりしない限りは、いくら説明を読んだところで納得はできないはずですから、参考になりそうなマクロを2つご紹介しておきます。
テキストボックスと吹き出しを作成するサンプルマクロ
一つ目は、アクティブなプレゼンテーションファイルの先頭のスライドに、テキストボックスと吹き出しを作成するマクロです。
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プロパティの値をメッセージボックスに表示するマクロです。
Dim shp As Shape
For Each shp In ActiveWindow.Selection.SlideRange.Shapes
shp.Select
MsgBox _
shp.Type & "(Type)" & vbCrLf & _
shp.AutoShapeType & "(AutoShapeType)"
Next shp
先にご紹介した、先頭のスライドにテキストボックスと吹き出しを挿入するマクロを実行後に、その先頭のスライドをアクティブにしておいて、このアクティブスライド上のShapeのTypeとAutoShapeTypeを確認するマクロを実行すると、まずテキストボックスが選択されて、下図のようなメッセージボックスが表示され、
その後、吹き出し図形が選択されて、下図のようなメッセージボックスが表示されます。
これが、
「powerpoint vba テキストボックスと吹き出しの違い」
という検索に対する回答です。
こちらも、ローカルウィンドウで、オブジェクト変数・shpが、どのような情報を持っているのかを確認しつつ、実行してみることをおすすめします。
オブジェクトブラウザーを調べましょう
あとは、オブジェクトブラウザーで、以下の項目を最低限確認してみてください。
- Shapesコレクションオブジェクトの
AddTextBoxメソッドとAddShapeメソッド - Shapeオブジェクトの
TypeプロパティとAutoShapeTypeプロパティ - MsoShapeType列挙に定義されている
定数msoTextBoxと定数msoAutoShape - MsoAutoShapeType列挙に定義されている
定数msoShapeRectangleと定数msoShapeOvalCallout
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » テキストボックスと吹き出しの違いを確認するPowerPointマクロ