选区

本文介绍使用文字文档时如何获取选区对象、移动选区范围、删除选区内容等。

获取选区对象

选区对象表示窗口或窗格中的当前选定内容。

选定内容表示文档中的选定(或突出显示)区域,或者代表插入点(如果未选择文档中的任何内容)。

  • 语法

    表达式.ActiveDocument.ActiveWindow.Selection

    表达式:文档类型应用对象

    每个文档窗格只能有一个Selection对象,并且在整个应用程序中只能有一个活动的Selection对象。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //选区对象
      const selection = await app.ActiveWindow.Selection;
    }

删除选区内容

删除选区指定内容。

  • 语法

    表达式.ActiveDocument.ActiveWindow.Selection.Delete(WdUnits)

    表达式:文档类型应用对象

  • 参数

    属性

    数据类型

    描述

    WdUnits

    Enum

    指定要使用的度量单位。Enum.WdUnits取值范围如下:

    • 1wdCharacter:字符。

    • 2wdWord:字。

    • 3wdSentence:句子。

    • 4wdParagraph:段落。

    • 5wdLine:一个线段。

    • 6wdStory:部分。

    • 7wdScreen:屏幕尺寸。

    • 8wdSection:一节。

    • 9wdColumn:列。

    • 10wdRow:行。

    • 11wdWindow:窗口。

    • 12wdCell:单元格。

    • 13wdCharacterFormatting:字符格式。

    • 14wdParagraphFormatting:段落格式。

    • 15wdTable:一个表格。

    • 16wdItem:所选项。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //删除选区内容
      app.ActiveDocument.ActiveWindow.Selection.Delete(1);
    }

向下移动选区

将选区范围向下移动。

  • 语法

    表达式.ActiveDocument.ActiveWindow.Selection.MoveDown()

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //将光标向下移动
      await app.ActiveDocument.ActiveWindow.Selection.MoveDown();
    }

向上移动选区

将选区范围向上移动。

  • 语法

    表达式.ActiveDocument.ActiveWindow.Selection.MoveUp()

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //将光标向上移动
      await app.ActiveDocument.ActiveWindow.Selection.MoveUp();
    }

向左移动选区

将选区范围向左移动。

  • 语法

    表达式.ActiveDocument.ActiveWindow.Selection.MoveLeft()

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //将光标向左移动
      await app.ActiveDocument.ActiveWindow.Selection.MoveLeft();
    }

向右移动选区

将选区范围向右移动。

  • 语法

    表达式.ActiveDocument.ActiveWindow.Selection.MoveRight()

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //将光标向右移动
      await app.ActiveDocument.ActiveWindow.Selection.MoveRight();
    }

获取区域对象

返回一个Range对象,该对象代表指定对象中包含的文档部分。

  • 语法

    表达式.ActiveDocument.ActiveWindow.Selection.Range

    表达式:文档类型应用对象

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取选区对象
      const selection = await app.ActiveWindow.Selection;
    
      //获取区域对象
      const range = await selection.Range;
    }

修改区域范围

修改指定区域范围。

  • 语法

    表达式.ActiveDocument.Range(Start, End).SetRange({ Start, End })

    表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item(Index).Range.SetRange({ Start, End })

    表达式:文档类型应用对象

  • 参数

    属性

    数据类型

    是否必填

    描述

    Start

    Number

    区域开始位置。

    End

    Number

    区域结束位置。

  • 示例

    • 示例1

      async function example() {
        await instance.ready();
      
        const app = instance.Application;
        
        //获取选中区域
        const range = await app.ActiveDocument.Range(0, 10);
      
        //设置区域范围
        await range.SetRange(10, 20);
      }
    • 示例2

      async function example() {
        await instance.ready();
      
        const app = instance.Application;
        
        //获取第1个表格
        const tableOne = await app.ActiveDocument.Tables.Item(1);
      
        //获取表格第1行的第1个单元格
        const cellOne = await tableOne.Rows.Item(1).Cells.Item(1);
        
        //获取该单元格的区域对象
        const range = await cellOne.Range;
      
        //单元格字体属性
        const font = await range.Font;
      
        //修改区域范围
        const newRange = await range.SetRange({
          Start: 1,
          End: 10,
        });
        const newText = await newRange.Text; //获取新区域文本
        console.log(newText);
      }