全部显示

TextFrame 对象

         
多种对象
TextFrame
Range

该对象代表 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

文本框可以链接在一起,以使一个图形文本框中的文字排到另一个图形文本框中。使用 NextPrevious 属性可以链接文本框。下列示例创建一个文本框(一个矩形文本框),并在其中添加文本。然后创建另一个文本框,链接两个文本框,这样第一个文本框中的文字就可排至第二个框中。

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

使用 ContainingRange 属性可返回一个 Range 对象,该对象代表在链接文本框中排列的整个文字部分。下列示例检查“文本框 3”以及与其链接的任何其他文本的拼写。

Set myStory = ActiveDocument.Shapes("TextBox 3") _
    .TextFrame.ContainingRange
myStory.CheckSpelling