Объект 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 и обратная связь.