文档

Range

更新时间:

本文介绍与文字文档Range相关的API。

Range

ActiveDocument.Range(Start, End)

获取区域对象,每个区域对象由一个起始字符位置和一个终止字符位置定义。

重要

JS-SDK V1.1.10及以上版本支持此功能。

  • 语法

    表达式.ActiveDocument.Range(Start, End)

    或者表达式.ActiveDocument.ActiveWindow.Selection.Range

    或者表达式.ActiveDocument.Tables.Item(Index).Range

    或者表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item(Index).Range

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

  • 示例

    • 获取文档中的区域对象

      async function example() {
        await instance.ready();
      
        const app = instance.Application;
        
        //获取区域对象
        const range = app.ActiveDocument.Range(0, 100);
      }
    • 获取单元格中的区域对象

      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;
      }

方法

ActiveDocument.Range().Item()

通过Item()方法,您可以获取指定区域范围。

  • 语法

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

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

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    Start

    Number

    开始位置。

    End

    Number

    结束位置。

  • 示例

    • 获取文档中的指定区域对象

      async function example() {
        await instance.ready();
      
        const app = instance.Application;
        
        //获取区域对象
        const range = app.ActiveDocument.Range(0, 100);
      
        //获取指定区域范围
        const item = await range.Item(0, 50);
      }
    • 获取单元格中的指定区域对象

      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 item = await range.Item(1, 10);
      }

ActiveDocument.Range(Start, End).GetHtmlData()

通过GetHtmlData()方法,您可以获取指定区域带格式的HTML数据。

重要

JS-SDK V1.1.14及以上版本支持此功能。

  • 语法

    表达式.ActiveDocument.Range(Start, End).GetHtmlData()

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

  • 返回值

    属性

    数据类型

    描述

    HTML

    String

    HTML数据。

    Text

    String

    文本数据。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取区域对象
      const range = app.ActiveDocument.Range(10, 20);
    
      //获取指定区域带格式的HTML数据
      const htmlInfo = await range.GetHtmlData();
      console.log(htmlInfo);
    }

ActiveDocument.Range(Start, End).PasteHtml()

通过PasteHtml()方法,您可以粘贴带格式的HTML数据到指定区域。

重要

JS-SDK V1.1.14及以上版本支持此功能。

  • 语法

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

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    HTML

    String

    HTML数据,可通过ActiveDocument.Range(Start, End).GetHtmlData()获取。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取区域对象
      const range = app.ActiveDocument.Range(10, 20);
    
      //获取指定区域带格式的HTML数据
      const htmlInfo = await range.GetHtmlData();
    
      //粘贴带格式的HTML数据到指定区域
      await app.ActiveDocument.Range(110, 110).PasteHtml({
        HTML: htmlInfo.HTML,
      });
    }

ActiveDocument.Range(Start, End).SetRange()

通过SetRange()方法,您可以设置现有范围起始字符和结束字符的位置。

  • 语法

    表达式.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

    区域结束位置。

  • 示例

    • 设置文档现有范围起始字符和结束字符的位置

      async function example() {
        await instance.ready();
      
        const app = instance.Application;
        
        //获取区域对象
        const range = app.ActiveDocument.Range(0, 100);
      
        //设置现有范围起始字符和结束字符的位置
        await range.SetRange(10, 20);
      }
    • 设置单元格现有范围起始字符和结束字符的位置

      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 newRange = await range.SetRange({
          Start: 1,
          End: 10,
        });
      }

ActiveDocument.Range(Start, End).Find

通过Find()方法,您可以查找指定区域的内容。

重要

JS-SDK V1.1.19及以上版本支持此功能。

  • 语法

    表达式.ActiveDocument.Range(Start, End).Find

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

  • 参数

    属性

    数据类型

    默认值

    是否必填

    描述

    Text

    String

    查找目标

    ShowHighlight

    Boolean

    true

    是否高亮显示

    FilterConfig

    Object

    true

    配置项(WebOffice v8.5.1+ 支持)

  • FilterConfig 说明

    属性

    数据类型

    默认值

    是否必填

    描述

    isCaseSensitive

    Boolean

    false

    区分大小写

    isWholeWordMatched

    Boolean

    false

    全字匹配

    isWidthIgnored

    Boolean

    false

    忽略全/半角

    isWildcardMatched

    Boolean

    false

    使用通配符

    isRegexMatched

    Boolean

    false

    使用正则表达式(同时开启通配符和正则表达式以正则表达式优先)

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      // 获取选中区域
      const range = await app.ActiveDocument.Range(0, 10);
    
      // 查找内容
      range.Find('WPS')
    }

属性

ActiveDocument.Range(Start, End).Start

通过Start属性,您可以获取指定区域的开始位置。

  • 语法

    表达式.ActiveDocument.Range(Start, End).Start

    或者表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item(Index).Range.Start

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

  • 示例

    • 获取文档指定区域的开始位置

      async function example() {
        await instance.ready();
      
        const app = instance.Application;
        
        //获取区域对象
        const range = app.ActiveDocument.Range(0, 100);
      
        //获取开始位置
        const start = await range.Start;
        console.log(start);
      }
    • 设置单元格指定区域的开始位置

      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 start = await range.Start;
        console.log(start);
        }

ActiveDocument.Range(Start, End).End

通过End属性,您可以获取指定区域的结束位置。

  • 语法

    表达式.ActiveDocument.Range(Start, End).End

    或者表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item(Index).Range.End

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

  • 示例

    • 获取文档指定区域的结束位置

      async function example() {
        await instance.ready();
      
        const app = instance.Application;
        
        //获取区域对象
        const range = app.ActiveDocument.Range(0, 100);
      
        //获取结束位置
        const end = await range.End;
        console.log(end);
      }
    • 设置单元格指定区域的结束位置

      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 end = await range.End;
        console.log(end);
      }

ActiveDocument.Range(Start, End).Font

通过Font属性,您可以获取指定区域的字体对象。

  • 语法

    表达式.ActiveDocument.Range(Start, End).Font

    或者表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item(Index).Range.Font

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

  • 示例

    • 获取文档指定区域的字体对象

      async function example() {
        await instance.ready();
      
        const app = instance.Application;
        
        //获取区域对象
        const range = app.ActiveDocument.Range(0, 100);
      
        //获取字体对象
        const font = await range.Font;
        console.log(font);
      }
    • 获取单元格指定区域的字体对象

      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;
      }

ActiveDocument.ActiveWindow.Selection.Range.HighlightColorIndex

通过HighlightColorIndex属性,您可以设置和获取指定区域的高亮颜色,页面刷新后高亮不消失。

  • 语法

    表达式.ActiveDocument.ActiveWindow.Selection.Range.HighlightColorIndex = WdColorIndex

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    WdColorIndex

    Enum

    指定区域的高亮颜色。更多信息,请参见WdColorIndex

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //设置和获取指定区域的高亮颜色,页面刷新后高亮不消失
      app.ActiveDocument.ActiveWindow.Selection.Range.HighlightColorIndex = 7;
    }

ActiveDocument.ActiveWindow.Selection.Range.HighlightColorIndexTemp

通过HighlightColorIndexTemp属性,您可以设置和获取指定区域的高亮颜色,页面刷新后高亮消失。

  • 语法

    表达式.ActiveDocument.ActiveWindow.Selection.Range.HighlightColorIndexTemp = WdColorIndex

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    WdColorIndex

    Enum

    指定区域的高亮颜色,更多信息,请参见WdColorIndex

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //设置和获取指定区域的高亮颜色,页面刷新后高亮消失
      app.ActiveDocument.ActiveWindow.Selection.Range.HighlightColorIndexTemp = 7;
    }

ActiveDocument.Range.Information()

通过Information()属性,您可以获取页面相关信息(目前仅支持获取总页数)。

重要
  • JS-SDK V1.1.10及以上版本支持此功能。

  • 由于文字文档是流式排版,因此无法在一开始就确定最终页数,只有浏览到最底部才能获取总页数。

  • 语法

    表达式.ActiveDocument.Range.Information(WdInformation)

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

  • 参数

    通过app.Enum.WdInformation获取所选内容或区域的信息的类型。

    属性

    数据类型

    是否必填

    描述

    WdInformation

    Enum

    获取页面信息,目前仅支持获取总页数。更多信息,请参见WdInformation

  • 返回值

    属性

    数据类型

    描述

    PagesCount

    Number

    当前已经排版的页码。

    End

    Boolean

    是否已排版结束。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
    
      //获取总页数
      const totalPages = await app.ActiveDocument.Range.Information(app.Enum.WdInformation.wdNumberOfPagesInDocument);
      console.log(totalPages);
    }
    

ActiveDocument.Range(Start, End).Paragraphs

通过Paragraphs属性,您可以获取指定区域中的所有段落对象。

重要

JS-SDK V1.1.14及以上版本支持此功能。

  • 语法

    表达式.ActiveDocument.Range(Start, End).Paragraphs

    或者表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item(Index).Range.Paragraphs

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

  • 示例

    • 获取文档指定区域的所有段落对象

      async function example() {
        await instance.ready();
      
        const app = instance.Application;
        
        //获取区域对象
        const range = app.ActiveDocument.Range(0, 100);
      
        //获取所有段落对象
        const info = await range.Paragraphs;
      }
    • 获取单元格指定区域的所有段落对象

      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 paragraphFormat = await range.Paragraphs;
      }

ActiveDocument.Range(Start, End).ParagraphFormat

通过ParagraphFormat属性,您可以获取指定区域的段落格式。

  • 语法

    表达式.ActiveDocument.Range(Start, End).ParagraphFormat

    或者表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item(Index).Range.ParagraphFormat

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

  • 示例

    • 获取文档指定区域的段落格式

      async function example() {
        await instance.ready();
      
        const app = instance.Application;
        
        //获取区域对象
        const range = app.ActiveDocument.Range(0, 100);
      
        //获取段落格式
        const info = await range.ParagraphFormat;
      }
    • 获取单元格指定区域的段落格式

      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 paragraphFormat = await range.ParagraphFormat;
      }

ActiveDocument.Range(Start, End).Text

通过Text属性,您可以获取和设置文本内容。

重要
  • JS-SDK V1.1.10及以上版本支持获取文本。

  • JS-SDK V1.1.11及以上版本支持设置文本

  • 语法

    表达式.ActiveDocument.Range(Start, End).Text

    或者表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item(Index).Range.Text

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

  • 示例

    • 获取和设置文档指定区域中的文本

      async function example() {
        await instance.ready();
      
        const app = instance.Application;
        
        //获取区域对象
        const range = app.ActiveDocument.Range(0, 100);
      
        //获取文本
        const text = await range.Text;
        console.log(text);
      
        //设置文本
        range.Text = 'Aliyun';
      }
    • 获取和设置单元格指定区域中的文本

      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 text = await range.Text;
        console.log(text);
      
        //设置文本
        range.Text = 'Aliyun';
      }