How to: Define and Select Ranges in Documents
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 Microsoft.Office.Tools.Word.Document class (in a document-level customization) or the Microsoft.Office.Interop.Word.Document class (in an application-level add-in).
Applies to: The information in this topic applies to document-level projects and application-level projects for Word 2007 and Word 2010. For more information, see Features Available by Office Application and Project Type.
Defining 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 Microsoft.Office.Tools.Word.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 an application-level add-in
Add the range to the document by passing a start and end character to the Range method of the Microsoft.Office.Interop.Word.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();
Selecting 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 Microsoft.Office.Tools.Word.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(); }
Selecting a Range by Using an Application-Level 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 Microsoft.Office.Interop.Word.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
Tasks
How to: Extend Ranges in Documents
How to: Retrieve Start and End Characters in Ranges
How to: Extend Ranges in Documents
How to: Reset Ranges in Word Documents
How to: Collapse Ranges or Selections in Documents
How to: Exclude Paragraph Marks When Creating Ranges