Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » PowerPointのAddTextboxでテキストボックスのサイズを設定する

PowerPointのAddTextboxでテキストボックスのサイズを設定する

動作検証バージョン:64bit Windows 10 Pro + 32bit PowerPoint(バージョン2002 ビルド12527.20242 Microsoft Store)

「vba powerpoint addtextbox サイズ」
といった検索キーワードでのアクセスに気が付きました。

拙著『いちばんやさしいPowerPoint VBAの教本』の、Lesson 39「Shapesが持つAdd〇〇メソッドでShapeを挿入できます」でも簡単にご紹介している、ShapesコレクションのAddTextboxメソッドで挿入したテキストボックスの、

PowerPoint.Shapes.AddTextbox

大きさを設定するにはどうすればいいのかを探していた方による検索でしょうか。

AddTextboxでテキストボックスのサイズを設定するサンプル

1枚目のスライドをアクティブな状態にして、以下のSubプロシージャをステップ実行してみてください。

Sub AddTextboxでサイズを指定する()
 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 = "サンプル文字列"

End Sub

AddTextboxでサイズを設定する処理について

上記のSubプロシージャで行っている処理内容は以下のとおりです。

Shapes.AddTextboxメソッドで挿入したテキストボックスのサイズは、第4引数Widthで幅を、第5引数Heightで高さを指定できます。

Set shp = sld.Shapes.AddTextbox(msoTextOrientationHorizontal, 0, 0, 200, 100)

PowerPoint.Shapes.AddTextboxの引数Widht・Height

これでテキストボックスのサイズは設定できるのですが、入力する文字列の長さによっては、このあとサイズが勝手に変化してしまいます。

勝手にサイズが変化してしまうのを避けるために、拙著Lesson 45「TextFrameは文字列枠を表すオブジェクトです」でも、少しだけ触れているTextFrameオブジェクトのAutoSizeプロパティに、

PowerPoint.TextFrame.AutoSize

PpAutoSize列挙に定義されている定数ppAutoSizeNoneを設定し、サイズが自動調整されないように設定してから、

shp.TextFrame.AutoSize = ppAutoSizeNone

PowerPoint.PpAutoSize.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でテキストボックスのサイズを設定する

「TextFrame・TextRange」の記事一覧

検索


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

.