「vba powerpoint addtextbox サイズ」
といった検索キーワードでのアクセスに気が付きました。
拙著『いちばんやさしいPowerPoint VBAの教本』の、Lesson 39「Shapesが持つAdd〇〇メソッドでShapeを挿入できます」でも簡単にご紹介している、ShapesコレクションのAddTextboxメソッドで挿入したテキストボックスの、
大きさを設定するにはどうすればいいのかを探していた方による検索でしょうか。
AddTextboxでテキストボックスのサイズを設定するサンプル
1枚目のスライドをアクティブな状態にして、以下のSubプロシージャをステップ実行してみてください。
Dim sld As Slide
Set sld = ActivePresentation.Slides(1)
Dim shp As Shape
Set shp = sld.Shapes.AddTextbox(msoTextOrientationHorizontal, 0, 0, 200, 100)
shp.Fill.ForeColor.RGB = RGB(0, 255, 255)
shp.TextFrame.AutoSize = ppAutoSizeNone
shp.TextFrame.TextRange.Text = "サンプル文字列"
AddTextboxでサイズを設定する処理について
上記のSubプロシージャで行っている処理内容は以下のとおりです。
Shapes.AddTextboxメソッドで挿入したテキストボックスのサイズは、第4引数Widthで幅を、第5引数Heightで高さを指定できます。
Set shp = sld.Shapes.AddTextbox(msoTextOrientationHorizontal, 0, 0, 200, 100)
これでテキストボックスのサイズは設定できるのですが、入力する文字列の長さによっては、このあとサイズが勝手に変化してしまいます。
勝手にサイズが変化してしまうのを避けるために、拙著Lesson 45「TextFrameは文字列枠を表すオブジェクトです」でも、少しだけ触れているTextFrameオブジェクトのAutoSizeプロパティに、
PpAutoSize列挙に定義されている定数ppAutoSizeNoneを設定し、サイズが自動調整されないように設定してから、
shp.TextFrame.AutoSize = ppAutoSizeNone
文字列を入力しています。
shp.TextFrame.TextRange.Text = "サンプル文字列"ちなみに途中の、
shp.Fill.ForeColor.RGB = RGB(0, 255, 255)
は、サイズの設定とは関係ありませんが目視確認しやすくするための処理です。拙著のLesson 43「図形の書式設定はLineFormatとFillFormatで行います」でお伝えしている、FillFormatオブジェクトのForeColorプロパティで水色に変更しています。
TextFrame.AutoSizeプロパティの設定でサイズが自動調整される
上記Subプロシージャの、
shp.TextFrame.AutoSize = ppAutoSizeNone
をコメントアウトしてからステップ実行した場合、
shp.TextFrame.TextRange.Text = "サンプル文字列"
が実行された時点で、テキストボックスのサイズが変更されてしまうことを確認してください。
最終更新日時:2020-03-06 17:04
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » PowerPointのAddTextboxでテキストボックスのサイズを設定する