Objeto TextRange (Publisher)

Contém o texto que é anexado a uma forma, bem como propriedades e métodos para manipular o texto.

Comentários

Use a propriedade TextRange do objeto TextFrame para retornar um objeto TextRange para qualquer forma especificada. Use a propriedade Text para retornar a sequência de caracteres de texto do objeto TextRange.

Use a propriedade ShapeRange.HasTextFrame para determinar se uma forma tem um quadro de texto e use a propriedade TextFrame.HasText para determinar se o quadro de texto contém texto.

Use a propriedade TextRange do objeto Selection para retornar o texto selecionado no momento.

Use um dos seguintes métodos para retornar uma parte do texto de um objeto TextRange: palavras, linhas, parágrafos ou caracteres.

Use um destes métodos para inserir caracteres em um objeto TextRange: InsertAfter, InsertBefore, InsertDateTime, InsertPageNumber ou InsertSymbol.

Exemplo

O exemplo a seguir adiciona um retângulo à publicação ativa e define o texto que ele contém.

Sub AddTextToShape() 
    With ActiveDocument.Pages(1).Shapes.AddShape(Type:=msoShapeRectangle, _ 
        Left:=72, Top:=72, Width:=250, Height:=140) 
        .TextFrame.TextRange.Text = "Here is some test text" 
    End With 
End Sub

Como a propriedade Text é a propriedade padrão do objeto TextRange, as duas instruções a seguintes são equivalentes.

ActiveDocument.Pages(1).Shapes(1).TextFrame _ 
    .TextRange.text = "Here is some test text" 
ActiveDocument.Pages(1).Shapes(1).TextFrame _ 
    .TextRange = "Here is some test text"

O exemplo seguinte copia a seleção para a área de transferência.

Sub CopyAndPasteText() 
    With ActiveDocument 
        .Selection.TextRange.Copy 
        .Pages(1).Shapes(1).TextFrame.TextRange.Paste 
    End With 
End Sub

O exemplo seguinte formata a segunda palavra na primeira forma na primeira página da publicação ativa. Para que esse exemplo funcione, a forma especificada deve conter texto.

Sub FormatWords() 
    With ActiveDocument.Pages(1).Shapes(1).TextFrame _ 
            .TextRange.Words(2).Font 
        .Bold = msoTrue 
        .Size = 15 
        .Name = "Text Name" 
    End With 
End Sub

Este exemplo insere uma nova linha com texto após qualquer texto existente na primeira forma na primeira página da publicação ativa.

Sub InsertNewText() 
    Dim intCount As Integer 
    With ActiveDocument.Pages(1).Shapes(1).TextFrame _ 
            .TextRange 
        For intCount = 1 To 3 
            .InsertAfter vbLf  "This is a test." 
        Next intCount 
    End With 
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.