TextFrame オブジェクト (Word)
Shape オブジェクトのレイアウト枠を表します。 TextFrame オブジェクトには、レイアウト枠の文字列、およびレイアウト枠の余白と文字の向きを設定するプロパティも含まれます。
図形の TextFrame オブジェクトを取得するには、 TextFrame プロパティを使用します。 TextRange プロパティを使用すると、指定されたレイアウト枠の中の文字列範囲を表す Range オブジェクトを取得できます。 次の使用例は、作業中の文書の最初の図形のレイアウト枠に文字列を追加します。
ActiveDocument.Shapes(1).TextFrame.TextRange.Text = "My Text"
注意
一部の図形では、添付テキスト (線、フリーフォーム、図、OLE オブジェクトなど) がサポートされていません。 これらのオブジェクトのレイアウト枠の中の文字列を制御するプロパティを取得または設定しようとすると、エラーが発生します。
次の使用例のように、レイアウト枠に文字列が含まれているかどうかを調べるには、 HasText プロパティを使用します。
For Each s In ActiveDocument.Shapes
With s.TextFrame
If .HasText Then MsgBox .TextRange.Text
End With
Next
レイアウト枠をリンクすると、特定の図形のレイアウト枠から他の図形のレイアウト枠へ文字列が流し込まれます。 レイアウト枠をリンクするには、 Next および Previous プロパティを使用します。 次の使用例は、テキスト ボックス (レイアウト枠を含む四角形) を作成し、文字列を追加します。 次に、別のテキスト ボックスを作成し、最初のレイアウト枠から 2 番目のレイアウト枠に文字列が流し込まれるように 2 つのレイアウト枠をリンクします。
Set myTB1 = ActiveDocument.Shapes.AddTextbox _
(msoTextOrientationHorizontal, 72, 72, 72, 36)
myTB1.TextFrame.TextRange = _
"This is some text. This is some more text."
Set myTB2 = ActiveDocument.Shapes.AddTextbox _
(msoTextOrientationHorizontal, 72, 144, 72, 36)
myTB1.TextFrame.Next = myTB2.TextFrame
リンクされたレイアウト枠間に流し込まれているストーリー全体を表す Range オブジェクトを取得するには、 ContainingRange プロパティを使用します。 次の使用例は、TextBox 3 および TextBox 3 にリンクされている他のレイアウト枠で、文字列のスペル チェックを行います。
Set myStory = ActiveDocument.Shapes("TextBox 3") _
.TextFrame.ContainingRange
myStory.CheckSpelling
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。