Programmatically reset ranges in Word documents
Article 01/12/2024
11 contributors
Feedback
In this article
Use the SetRange method to resize an existing range in a Microsoft Office Word document.
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 .
To reset an existing range
Set an initial range starting with the first seven characters in the document.
The following code example can be used in a document-level customization.
object start = 0;
object end = 7;
Word.Range rng = this.Range(ref start,ref end);
Dim rng As Word.Range = Me.Range(Start:=0, End:=7)
The following code example can be used in a VSTO Add-in. This code uses the active document.
Word.Range rng = this.Application.ActiveDocument.Range(0, 7);
Dim rng As Word.Range = Me.Application.ActiveDocument.Range(Start:=0, End:=7)
Use SetRange to start the range at the second sentence and end it at the end of the fifth sentence.
rng.SetRange(this.Sentences[2].Start, this.Sentences[5].End);
rng.SetRange(Start:=Me.Sentences(2).Start, End:=Me.Sentences(5).End)
Document-Level Customization Example
To reset an existing range in a document-level customization
The following example shows the complete example for a document-level customization. To use this code, run it from the ThisDocument
class in your project.
object start = 0;
object end = 7;
Word.Range rng = this.Range(ref start,ref end);
// Reset the existing Range.
rng.SetRange(this.Sentences[2].Start, this.Sentences[5].End);
rng.Select();
Dim rng As Word.Range = Me.Range(Start:=0, End:=7)
' Reset the existing Range.
rng.SetRange(Start:=Me.Sentences(2).Start, End:=Me.Sentences(5).End)
rng.Select()
VSTO Add-in example
To reset an existing range in a VSTO Add-in
The following example shows the complete example for a VSTO Add-in. To use this code, run it from the ThisAddIn
class in your project.
Word.Range rng = this.Application.ActiveDocument.Range(0, 7);
// Reset the existing Range.
rng.SetRange(this.Application.ActiveDocument.Sentences[2].Start,
this.Application.ActiveDocument.Sentences[5].End);
rng.Select();
Dim rng As Word.Range = Me.Application.ActiveDocument.Range(Start:=0, End:=7)
' Reset the existing Range.
rng.SetRange(Start:=Me.Application.ActiveDocument.Sentences(2).Start, _
End:=Me.Application.ActiveDocument.Sentences(5).End)
rng.Select()
Related content