Compartilhar via


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

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.