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


Практическое руководство. Программное определение и выделение диапазонов в документах

Можно определить диапазон документа Microsoft Office Word при помощи объекта Range.Выделить весь документ можно многими способами, например при помощи метода Select объекта Range, или при помощи свойства Content класса Microsoft.Office.Tools.Word.Document (в настройке на уровне документа) или класса Microsoft.Office.Interop.Word.Document (в надстройке уровня приложения).

Применение. Сведения этого раздела применяются к проектам уровня документа и уровня приложения для Word 2013 и Word 2010. Дополнительные сведения см. в разделе Доступность функций по типам приложений Office и проектов.

Определение диапазона

В приведенном ниже примере показано, как создать новый объект Range, включающий первые семь символов в активном документе, в том числе непечатаемые символы.Затем в примере выбирается текст в пределах диапазона.

Определение диапазона в настройке на уровне документа

  • Добавьте диапазон в документ, передав начальный и конечный символы методу Range класса Microsoft.Office.Tools.Word.Document.Чтобы воспользоваться следующим примером кода, выполните его из класса ThisDocument своего проекта.

    Dim rng As Word.Range = Me.Range(Start:=0, End:=7)
    rng.Select()
    
    object start = 0; 
    object end = 7; 
    Word.Range rng = this.Range(ref start, ref end); 
    
    rng.Select();
    

Определение диапазона при помощи надстройки уровня приложения

  • Добавьте диапазон в документ, передав начальный и конечный символы методу Range класса Microsoft.Office.Interop.Word.Document.В приведенном ниже примере кода в активный документ добавляется диапазон.Чтобы использовать этот пример кода, выполните его из класса ThisAddIn в проекте.

    Dim rng As Word.Range = Me.Application.ActiveDocument.Range(Start:=0, End:=7)
    rng.Select()
    
    Word.Range rng = this.Application.ActiveDocument.Range(0, 7);
    
    rng.Select();
    

Выделение диапазона в настройке на уровне документа

В следующем примере показано, как выделить весь документ при помощи метода Select объекта Range, или при помощи свойства Content класса Microsoft.Office.Tools.Word.Document.

Выделение всего документа как диапазона при помощи метода Select

  • Используйте метод Select объекта Range, который содержит весь документ.Чтобы использовать следующий пример кода, запустите его из класса ThisDocument в проекте.

    Me.Range.Select()
    
    object start = this.Content.Start;
    object end = this.Content.End;
    
    this.Range(ref start, ref end).Select();
    

Выделение всего документа как диапазона при помощи свойства Content

  • Используйте свойство Content для определения диапазона, который содержит весь документ.

    Me.Content.Select()
    
    this.Content.Select();
    

Для определения диапазона можно также использовать методы и свойства других объектов.

Выделение предложения в активном документе

  • Установите диапазон с помощью коллекции Sentences.Используйте индекс предложения, которое нужно выделить.

    Dim s2 As Word.Range = Me.Sentences(2)
    s2.Select()
    
    Word.Range s2 = this.Sentences[2]; 
    s2.Select();
    

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

Выделение предложения установкой вручную начального и конечного значений.

  1. Создайте переменную диапазона.

    Dim rng As Word.Range
    
    Word.Range rng; 
    
  2. Проверьте, имеется ли в документе хотя бы два предложения, установите аргументы Start и End диапазона, а затем выделите диапазон.

    If Me.Sentences.Count >= 2 Then
    
        Dim startLocation As Object = Me.Sentences(2).Start
        Dim endLocation As Object = Me.Sentences(2).End
    
        ' Supply a Start and End value for the Range.
        rng = Me.Range(Start:=startLocation, End:=endLocation)
    
        ' Select the Range
        rng.Select()
    End If
    
    if (this.Sentences.Count >= 2) 
    {
        object startLocation = this.Sentences[2].Start; 
        object endLocation = this.Sentences[2].End; 
    
        // Supply a Start and End value for the Range. 
        rng = this.Range(ref startLocation, ref endLocation); 
    
        // Select the Range.
        rng.Select();
    }
    

Выделение диапазона при помощи надстройки уровня приложения

В следующем примере показано, как выделить весь документ при помощи метода Select объекта Range, или при помощи свойства Content класса Microsoft.Office.Interop.Word.Document.

Выделение всего документа как диапазона при помощи метода Select

  • Используйте метод Select объекта Range, который содержит весь документ.В приведенном ниже примере кода в активном документе выделяется содержимое.Чтобы использовать этот пример кода, выполните его из класса ThisAddIn в проекте.

    Me.Application.ActiveDocument.Range.Select()
    
    this.Application.ActiveDocument.Range(
        this.Application.ActiveDocument.Content.Start,
        this.Application.ActiveDocument.Content.End).Select();
    

Выделение всего документа как диапазона при помощи свойства Content

  • Используйте свойство Content для определения диапазона, который содержит весь документ.

    Me.Application.ActiveDocument.Content.Select()
    
    this.Application.ActiveDocument.Content.Select();
    

Для определения диапазона можно также использовать методы и свойства других объектов.

Выделение предложения в активном документе

  • Установите диапазон с помощью коллекции Sentences.Используйте индекс предложения, которое нужно выделить.

    Dim s2 As Word.Range = Me.Application.ActiveDocument.Sentences(2)
    s2.Select()
    
    Word.Range s2 = this.Application.ActiveDocument.Sentences[2];
    s2.Select();
    

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

Выделение предложения установкой вручную начального и конечного значений.

  1. Создайте переменную диапазона.

    Dim rng As Word.Range
    
    Word.Range rng;
    
  2. Проверьте, имеется ли в документе хотя бы два предложения, установите аргументы Start и End диапазона, а затем выделите диапазон.

    Dim document As Word.Document = Me.Application.ActiveDocument
    If document.Sentences.Count >= 2 Then
    
        Dim startLocation As Object = document.Sentences(2).Start
        Dim endLocation As Object = document.Sentences(2).End
    
        ' Supply a Start and End value for the Range.
        rng = document.Range(Start:=startLocation, End:=endLocation)
    
        ' Select the Range
        rng.Select()
    End If
    
    Word.Document document = this.Application.ActiveDocument;
    
    if (document.Sentences.Count >= 2)
    {
        object startLocation = document.Sentences[2].Start;
        object endLocation = document.Sentences[2].End;
    
        // Supply a Start and End value for the Range. 
        rng = document.Range(ref startLocation, ref endLocation);
    
        // Select the Range.
        rng.Select();
    }
    

См. также

Задачи

Практическое руководство. Программное расширение диапазонов в документах

Практическое руководство. Программное извлечение символов начала и завершения в диапазонах

Практическое руководство. Программное расширение диапазонов в документах

Практическое руководство. Программный сброс диапазонов в документах Word

Практическое руководство. Программное свертывание диапазонов и выделений в документах

Практическое руководство. Программное исключение знаков абзаца при создании диапазонов

Другие ресурсы

Общие сведения об объектной модели Word