How to: Programmatically define and select ranges in documents
Applies to: Visual Studio Visual Studio for Mac
Note
This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
You can define a range in a Microsoft Office Word document by using a Range object. You can select the entire document in a number of ways, for example, by using the Select method of the Range object, or by using the Content property of the Document class (in a document-level customization) or the Document class (in a VSTO Add-in).
Applies to: The information in this topic applies to document-level projects and VSTO Add-in projects for Word. For more information, see Features available by Office application and project type.
Define a range
The following example shows how to create a new Range object that includes the first seven characters in the active document, including non-printing characters. It then selects the text within the range.
To define a range in a document-level customization
Add the range to the document by passing a start and end character to the Range method of the Document class. To use this code example, run it from the
ThisDocument
class in your project.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();
To define a range by using a VSTO Add-in
Add the range to the document by passing a start and end character to the Range method of the Document class. The following code example adds a range to the active document. To use this code example, run it from the
ThisAddIn
class in your project.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 a range in a document-level customization
The following examples show how to select the entire document by using the Select method of a Range object, or by using the Content property of the Document class.
To select the entire document as a range by using the Select method
Use the Select method of a Range that contains the entire document. To use the following code example, run it from the
ThisDocument
class in your project.Me.Range.Select()
object start = this.Content.Start; object end = this.Content.End; this.Range(ref start, ref end).Select();
To select the entire document as a range by using the Content property
Use the Content property to define a range that encompasses the entire document.
Me.Content.Select()
this.Content.Select();
You can also use the methods and properties of other objects to define a range.
To select a sentence in the active document
Set the range by using the Sentences collection. Use the index of the sentence you want to select.
Dim s2 As Word.Range = Me.Sentences(2) s2.Select()
Word.Range s2 = this.Sentences[2]; s2.Select();
Another way to select a sentence is to manually set the start and end values for the range.
To select a sentence by manually setting the start and end values
Create a range variable.
Dim rng As Word.Range
Word.Range rng;
Check to see if there are at least two sentences in the document, set the Start and End arguments of the range, and then select the range.
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 a range by using a VSTO Add-in
The following examples show how to select the entire document by using the Select method of a Range object, or by using the Content property of the Document class.
To select the entire document as a range by using the Select method
Use the Select method of a Range that contains the entire document. The following code example selects the contents of the active document. To use this code example, run it from the
ThisAddIn
class in your project.Me.Application.ActiveDocument.Range.Select()
this.Application.ActiveDocument.Range( this.Application.ActiveDocument.Content.Start, this.Application.ActiveDocument.Content.End).Select();
To select the entire document as a range by using the Content property
Use the Content property to define a range that encompasses the entire document.
Me.Application.ActiveDocument.Content.Select()
this.Application.ActiveDocument.Content.Select();
You can also use the methods and properties of other objects to define a range.
To select a sentence in the active document
Set the range by using the Sentences collection. Use the index of the sentence you want to select.
Dim s2 As Word.Range = Me.Application.ActiveDocument.Sentences(2) s2.Select()
Word.Range s2 = this.Application.ActiveDocument.Sentences[2]; s2.Select();
Another way to select a sentence is to manually set the start and end values for the range.
To select a sentence by manually setting the start and end values
Create a range variable.
Dim rng As Word.Range
Word.Range rng;
Check to see if there are at least two sentences in the document, set the Start and End arguments of the range, and then select the range.
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(); }
See also
- Word object model overview
- How to: Programmatically extend ranges in documents
- How to: Programmatically retrieve start and end characters in ranges
- How to: Programmatically extend ranges in documents
- How to: Programmatically reset ranges in Word documents
- How to: Programmatically collapse ranges or selections in documents
- How to: Programmatically exclude paragraph marks when creating ranges