Home » エクセルマクロ・Excel VBAの使い方 » 図形内文字列 » テキストを折り返す設定をVBAで-TextFrame2.WordWrap

テキストを折り返す設定をVBAで-TextFrame2.WordWrap

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

「excel vba 図形内でテキストを折り返す」
「excel vba 図形 テキストボックス 折り返し」
といった検索キーワードでのアクセスに気が付きました。

最近のExcelでは、[図形の書式設定]作業ウィンドウ-[文字のオプション]-[テキストボックス]-[図形内でテキストを折り返す]チェックボックスで、

図形内の文字列を折り返すかどうかを設定できます。

これをExcel VBAから設定するには、どのようなコードを書けばいいのかを探していた方による検索です。

図形内でテキストを折り返すサンプルマクロ

アクティブなワークシートにテキストボックスなどを作成して文字列を入力し、以下のSubプロシージャを実行してみてください。

Sub 図形内でテキストを折り返す()
 ActiveSheet.Shapes(1).TextFrame2.WordWrap = msoTrue
End Sub

Sub 図形内でテキストを折り返さない()
 ActiveSheet.Shapes(1).TextFrame2.WordWrap = msoFalse
End Sub

TextFrame2.WordWrapで図形内テキストの折り返しを設定

拙著『いちばんやさしいPowerPoint VBAの教本』のLesson 45「TextFrameは文字列枠を表すオブジェクトです」で、TextFrameオブジェクトに用意されているWordWrapプロパティについて少しだけ触れています。

上記のSubプロシージャで利用しているTextFrame2.WordWrapプロパティは、PowerPoint VBAのTextFrame.WordWrapとそっくりなプロパティで、msoTrueでテキストが折り返され、msoFalseでテキストの折り返しが解除されます。

Excel VBAの場合、TextFrameオブジェクトにはWordWrapプロパティが用意されていないのでTextFrame2オブジェクトのWordWrapを利用しています。

Excel VBAからの図形操作は、レガシーなDrawingObjects系、2003までのShape.TextFrame系、2007以降のShape.TextFrame2系が混在してしまっているので、PowerPoint VBAのShapeオブジェクトから攻略するほうが、理解しやすいと私は考えています。

最終更新日時:2020-03-17 15:20

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » 図形内文字列 » テキストを折り返す設定をVBAで-TextFrame2.WordWrap

「図形内文字列」の記事一覧

検索


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

.