Objeto TextFrame (Publisher)
Representa o quadro de texto em um objeto Shape. Contém o texto no quadro de texto e as propriedades que controlam as margens e a orientação do quadro de texto.
Comentários
Use a propriedade Shape.TextFrame para retornar o objeto TextFrame para uma forma.
A propriedade TextRange retorna um objeto TextRange que representa o intervalo de texto dentro do quadro de texto especificado.
Observação
Algumas formas não dão suporte a texto anexado (linhas, formas livres, imagens e objetos OLE, por exemplo). Se você tentar retornar ou definir propriedades que controlam texto em um quadro de texto para esses objetos, ocorrerá um erro.
Quadros de texto podem ser vinculados juntos, para que o texto flui do quadro de texto de uma forma para o quadro de texto, de outra forma. Use o NextLinkedTextFrame e PreviousLinkedTextFrame propriedades para vincular quadros de texto.
Exemplo
O exemplo a seguir adiciona texto no quadro de texto da forma um na publicação ativa e, em seguida, formata o novo texto.
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
Use a propriedade Shape.HasTextFrame para determinar se a forma tem um quadro de texto e use a propriedade HasText para determinar se o quadro de texto contém texto, conforme mostrado no exemplo a seguir.
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
O exemplo a seguir cria uma caixa de texto (um retângulo com um quadro de texto) e adiciona algum texto a ela. Ele cria outra caixa de texto e vincula os dois quadros de texto para que o texto flui do primeiro quadro de texto para o segundo.
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
Métodos
Propriedades
- Application
- AutoFitText
- Columns
- ColumnSpacing
- HasNextLink
- HasPreviousLink
- HasText
- IncludeContinuedFromPage
- IncludeContinuedOnPage
- MarginBottom
- MarginLeft
- MarginRight
- MarginTop
- NextLinkedTextFrame
- Orientation
- Overflowing
- Responsável
- PreviousLinkedTextFrame
- História
- TextRange
- VerticalTextAlignment
Confira também
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.