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

Utilize a propriedade Shape.TextFrame para devolver o objeto TextFrame de uma forma.

A propriedade TextRange devolve um objeto TextRange que representa o intervalo de texto dentro da moldura de texto especificada.

Observação

Algumas formas não suportam 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

Utilize a propriedade Shape.HasTextFrame para determinar se a forma tem uma moldura de texto e utilize a propriedade HasText para determinar se a moldura de texto contém texto, conforme mostrado no exemplo seguinte.

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.