Объект TextFrame (издатель)

Представляет текстовый фрейм в объекте Shape . Содержит текст в текстовом фрейме и свойства, которые управляют полями и ориентацией текстового фрейма.

Примечания

Используйте свойство Shape.TextFrame , чтобы вернуть объект TextFrame для фигуры.

Свойство TextRange возвращает объект TextRange , представляющий диапазон текста внутри указанного текстового фрейма.

Примечание.

Некоторые фигуры не поддерживают вложенный текст (например, линии, свободные формы, рисунки и объекты OLE). При попытке вернуть или задать свойства, которые управляют текстом в текстовом фрейме для этих объектов, возникает ошибка.

Текстовые фреймы можно связывать друг с другом, чтобы текст перетекал из текстового фрейма одной фигуры в текстовый фрейм другой фигуры. Используйте свойства NextLinkedTextFrame и PreviousLinkedTextFrame для связывания текстовых фреймов.

Пример

В приведенном ниже примере добавляется текст в текстовый фрейм первой фигуры активной публикации, а затем настраивается форматирование нового текста.

Sub AddTextToTextFrame() 
 With ActiveDocument.Pages(1).Shapes(1).TextFrame.TextRange 
 .Text = "My Text" 
 With .Font 
 .Bold = msoTrue 
 .Size = 25 
 .Name = "Arial" 
 End With 
 End With 
End Sub

Используйте свойство Shape.HasTextFrame , чтобы определить, содержит ли фигура текстовый фрейм, и свойство HasText , чтобы определить, содержит ли текстовый фрейм текст, как показано в следующем примере.

Sub GetTextFromTextFrame() 
 Dim shpText As Shape 
 
 For Each shpText In ActiveDocument.Pages(1).Shapes 
 If shpText.HasTextFrame = msoTrue Then 
 With shpText.TextFrame 
 If .HasText Then MsgBox .TextRange.Text 
 End With 
 End If 
 Next 
End Sub

В следующем примере создается текстовое поле (прямоугольник с текстовым фреймом) и добавляется в него текст. Затем она создает еще одно текстовое поле и связывает два текстовых фрейма вместе, так что текст перетекает из первого текстового фрейма во второй.

Sub LinkTextBoxes() 
 Dim shpTextBox1 As Shape 
 Dim shpTextBox2 As Shape 
 
 Set shpTextBox1 = ActiveDocument.Pages(1).Shapes.AddTextbox _ 
 (msoTextOrientationHorizontal, 72, 72, 72, 36) 
 shpTextBox1.TextFrame.TextRange.Text = _ 
 "This is some text. This is some more text." 
 
 Set shpTextBox2 = ActiveDocument.Pages(1).Shapes.AddTextbox _ 
 (msoTextOrientationHorizontal, 72, 144, 72, 36) 
 shpTextBox1.TextFrame.NextLinkedTextFrame = shpTextBox2 _ 
 .TextFrame 
End Sub

Методы

Свойства

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.