以编程方式扩展文档中的范围

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

  • wdCharacter

  • wdWord

  • wdSentence

  • wdParagraph

  • wdSection

  • wdStory

  • wdCell

  • wdColumn

  • wdRow

  • wdTable

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

    下面的示例定义了七个字符长的范围。 然后它将在原始开始位置之后移动范围的开始位置七个字符。 因为范围的结束位置也是开始位置之后的 7 个字符,则结果将是零个字符组成的范围。 然后代码在当前结束位置后移动结束位置七个字符。

若要扩展范围

  1. 定义字符的范围。 有关详细信息,请参阅 “如何:以编程方式定义和选择文档中的范围”。

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

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

    以下代码示例可用于 VSTO 外接程序。 本示例使用活动文档。

    Word.Range rng = this.Application.ActiveDocument.Range(0, 7);
    
  2. 使用 MoveStart 对象的 Range 方法移动范围的开始位置。

    rng.MoveStart(Word.WdUnits.wdCharacter, 7);
    
  3. 使用 MoveEnd 对象的 Range 方法移动范围的结束位置。

    rng.MoveEnd(Word.WdUnits.wdCharacter, 7);
    

文档级自定义代码

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

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

    // 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.
    rng.MoveStart(Word.WdUnits.wdCharacter, 7);
    
    // Move the end position 7 characters.
    rng.MoveEnd(Word.WdUnits.wdCharacter, 7);
    

VSTO 外接程序代码

若要扩展应用程序级 VSTO 外接程序中的范围

  1. 下面的示例显示 VSTO 外接程序的完整代码。 若要使用此代码,请从项目中的 ThisAddIn 类运行它。

    // Define a range of 7 characters.
    Word.Range rng = this.Application.ActiveDocument.Range(0, 7);
    
    // Move the start position 7 characters.
    rng.MoveStart(Word.WdUnits.wdCharacter, 7);
    
    // Move the end position 7 characters.
    rng.MoveEnd(Word.WdUnits.wdCharacter, 7);