C# 在Word文档级自定义中选择一个区域 使用VSTO外接程序选择范围

发布时间 2023-09-04 16:17:46作者: 多见多闻

你可以使用Range对象在Microsoft Office Word文档中定义和选择范围。有多种方法可以选择整个文档,例如使用Select方法和Range对象,或者使用文档级自定义和Document类的Content属性。

适用于:本主题中的信息适用于Word的文档级项目和VSTO外接程序项目。有关详细信息,请参阅Office应用程序和项目类型提供的功能。

定义范围: 下面的示例演示了如何创建一个新的Range对象,它包括活动文档中的前七个字符,包括非打印字符。然后它选择了范围内的文本。

在文档级自定义中定义范围: 通过将开始和结束字符传递给Document类的Range方法,将范围添加到文档中。要使用此代码示例,请在项目的ThisDocument类中运行它。

object start = 0; object end = 7; Word.Range rng = this.Range(ref start, ref end);
rng.Select();

通过使用VSTO外接程序定义范围: 通过将开始和结束字符传递给Document类的Range方法,将范围添加到文档中。下面的代码示例向活动文档添加了一个范围。要使用此代码示例,请在项目的ThisAddIn类中运行它。

Word.Range rng = this.Application.ActiveDocument.Range(0, 7);
rng.Select();

在文档级自定义中选择一个区域: 下面的示例演示了如何使用Range对象的Select方法或使用Document类的Content属性选择整个文档。

通过使用Select方法选择整个文档作为范围: 使用包含整个文档的Range的Select方法。要使用下面的代码示例,请在项目的ThisDocument类中运行它。

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

通过使用Content属性选择整个文档作为范围: 使用Content属性定义包含整个文档的范围。

this.Content.Select();

你还可以使用其他对象的方法和属性来定义范围。

在活动文档中选择一个句子: 通过使用Sentences集合设置范围。使用要选择的句子的索引。

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

选择句子的另一种方法是手动设置范围的开始和结束值。

通过手动设置开始和结束值来选择一个句子: 创建一个范围变量。

Word.Range rng;

检查文档中是否至少有两个句子,设置该区域的Start和End参数,然后选择该区域。

if (this.Sentences.Count >= 2) { 
    object startLocation = this.Sentences[2].Start; object endLocation = this.Sentences[2].End;
    // 为范围提供开始和结束值。
    rng = this.Range(ref startLocation, ref endLocation);
    // 选择该范围。
    rng.Select();
}

 

使用VSTO外接程序选择范围: 下面的示例演示了如何通过使用Range对象的Select方法或使用Document类的Content属性来选择整个文档。

通过使用Select方法选择整个文档作为范围: 使用包含整个文档的Range的Select方法。下面的代码示例选择了活动文档的内容。要使用此代码示例,请在项目的ThisAddIn类中运行它。

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

通过使用Content属性选择整个文档作为范围: 使用Content属性定义包含整个文档的范围。

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

你还可以使用其他对象的方法和属性来定义范围。

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

选择句子的另一种方法是手动设置范围的开始和结束值。

通过手动设置开始和结束值来选择一个句子: 创建一个范围变量。

Word.Range rng;

检查文档中是否至少有两个句子,设置该区域的Start和End参数,然后选择该区域。

Word.Document document = this.Application.ActiveDocument;
if (document.Sentences.Count >= 2) { 
    object startLocation = document.Sentences[2].Start; object endLocation = document.Sentences[2].End;
    // 为范围提供开始和结束值。
    rng = document.Range(ref startLocation, ref endLocation);
    // 选择该范围。
    rng.Select();
}