Объект 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
Методы
Свойства
- Application
- AutoFitText
- Columns
- ColumnSpacing
- HasNextLink
- HasPreviousLink
- HasText
- IncludeContinuedFromPage
- IncludeContinuedOnPage
- MarginBottom
- MarginLeft
- MarginRight
- MarginTop
- NextLinkedTextFrame
- Orientation
- Overflowing
- Parent
- PreviousLinkedTextFrame
- Story
- TextRange
- VerticalTextAlignment
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.