Поделиться через


Объект 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 и обратная связь.