如何:在文档中扩展范围

更新:2007 年 11 月

适用对象

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

项目类型

  • 文档级项目

  • 应用程序级项目

Microsoft Office 版本

  • Word 2003

  • Word 2007

有关更多信息,请参见按应用程序和项目类型提供的功能

在 Microsoft Office Word 文档中定义了一个 Range 对象后,就可以使用 MoveStartMoveEnd 方法来更改其起始点和终结点。MoveStartMoveEnd 方法采用两个相同的参数,即 Unit 和 Count。Count 参数是要移动的单位数,Unit 参数可以是以下 WdUnits 值之一:

下面的示例定义一个包含七个字符的范围。然后,该示例将范围的起始位置移动到原起始位置之后七个字符处。因为范围的结束位置也是起始位置之后七个字符的位置,因此结果是生成了一个包含零个字符的范围。然后,代码又将结束位置移动到当前结束位置之后七个字符处。

扩展范围

  1. 定义一个字符范围。有关更多信息,请参见 如何:在文档中定义和选择范围

    下面的代码示例可用于文档级自定义项。

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

    下面的代码示例可用于应用程序级外接程序。此示例使用活动文档。

    Dim rng As Word.Range = Me.Application.ActiveDocument.Range(Start:=0, End:=7)
    
    object start = 0;
    object end = 7;
    Word.Range rng = this.Application.ActiveDocument.Range(
        ref start, ref end);
    
  2. 使用 Range 对象的 MoveStart 方法移动范围的起始位置。

    rng.MoveStart(Unit:=Word.WdUnits.wdCharacter, Count:=7)
    
    object unit = Word.WdUnits.wdCharacter;
    object count = 7;
    rng.MoveStart(ref unit, ref count);
    
  3. 使用 Range 对象的 MoveEnd 方法移动范围的结束位置。

    rng.MoveEnd(Unit:=Word.WdUnits.wdCharacter, Count:=7)
    
    unit = Word.WdUnits.wdCharacter;
    count = 7;
    rng.MoveEnd(ref unit, ref count);
    

文档级自定义项代码

在文档级自定义项中扩展范围

  • 下面的示例显示了文档级自定义项的完整代码。若要使用此代码,请从项目内的 ThisDocument 类中运行此代码。

    ' Define a range of 7 characters.
    Dim rng As Word.Range = Me.Range(Start:=0, End:=7)
    
    ' Move the start position 7 characters.
    rng.MoveStart(Unit:=Word.WdUnits.wdCharacter, Count:=7)
    
    ' Move the end position 7 characters.
    rng.MoveEnd(Unit:=Word.WdUnits.wdCharacter, Count:=7)
    
    // Define a range of 7 characters.
    object start = 0;
    object end = 7;
    Word.Range rng = this.Range(ref start, ref end);
    
    // Move the start position 7 characters.
    object unit = Word.WdUnits.wdCharacter;
    object count = 7;
    rng.MoveStart(ref unit, ref count);
    
    // Move the end position 7 characters.
    unit = Word.WdUnits.wdCharacter;
    count = 7;
    rng.MoveEnd(ref unit, ref count);
    

应用程序级外接程序代码

在应用程序级外接程序中扩展范围

  • 下面的示例显示了应用程序级外接程序的完整代码。若要使用此代码,请从项目内的 ThisAddIn 类中运行此代码。

    ' Define a range of 7 characters.
    Dim rng As Word.Range = Me.Application.ActiveDocument.Range(Start:=0, End:=7)
    
    ' Move the start position 7 characters.
    rng.MoveStart(Unit:=Word.WdUnits.wdCharacter, Count:=7)
    
    ' Move the end position 7 characters.
    rng.MoveEnd(Unit:=Word.WdUnits.wdCharacter, Count:=7)
    
    // Define a range of 7 characters.
    object start = 0;
    object end = 7;
    Word.Range rng = this.Application.ActiveDocument.Range(
        ref start, ref end);
    
    // Move the start position 7 characters.
    object unit = Word.WdUnits.wdCharacter;
    object count = 7;
    rng.MoveStart(ref unit, ref count);
    
    // Move the end position 7 characters.
    unit = Word.WdUnits.wdCharacter;
    count = 7;
    rng.MoveEnd(ref unit, ref count);
    

请参见

任务

如何:重置 Word 文档中的范围

如何:折叠文档中的范围或选定内容

如何:在文档中定义和选择范围

如何:检索范围中的开始字符和结束字符

如何:创建范围时排除段落标记