Объект TextRange (издатель)

Содержит текст, прикрепленный к фигуре, в дополнение к свойствам и методам для работы с текстом.

Примечания

Используйте свойство TextRange объекта TextFrame , чтобы вернуть объект TextRange для любой указанной фигуры. Свойство Text используется для возвращения строки текста в объекте TextRange .

С помощью свойства ShapeRange.HasTextFrame можно определить, есть ли в фигуре текстовый фрейм, а также — TextFrame.HasText , чтобы определить, содержит ли текстовый фрейм текст.

Используйте свойство TextRange объекта Selection , чтобы вернуть выделенный текст.

Чтобы вернуть часть текста объекта TextRange , используйте один из следующих методов: символы, строки, абзацы или слова.

Чтобы вставить символы в объект TextRange , используйте один из следующих способов: InsertAfter, InsertBefore, InsertDateTime, InsertPageNumber или InsertSymbol.

Пример

В следующем примере к активной публикации добавляется прямоугольник и задается содержащийся в ней текст.

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

Так как свойство Text является свойством по умолчанию объекта TextRange , две следующие инструкции эквивалентны.

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"

В следующем примере выделенный фрагмент копируется в буфер обмена.

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

В приведенном ниже примере выполняется форматирование второго слова в первой фигуре на первой странице активной публикации. Чтобы этот пример работал, указанная фигура должна содержать текст.

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

В этом примере новая строка с текстом вставляется после любого существующего текста в первой фигуре на первой странице активной публикации.

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

Методы

Свойства

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.