本文介绍与文字文档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'; }