Skip to content

区域

Range(Start, End)

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

区域对象,表示文档中的一个连续区域,每个 Range 对象由一个起始字符位置和一个终止字符位置定义

语法

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

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

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

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

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

实例 1

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取指定区域
  const range = await app.ActiveDocument.Range(0, 100)
}

示例 2

//@file=base.docx
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
}

End

获取区域结束位置

语法

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

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

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

示例 1

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取选中区域
  const range = await app.ActiveDocument.Range(0, 100)

  // 获取选中文本的终点位置
  const end = await range.End
  console.log(end)
}

示例 2

//@file=base.docx
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)
}

Font

返回或设置一个 Font 对象,该对象代表指定对象的字符格式

语法

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

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

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

示例 1

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取选中区域
  const range = await app.ActiveDocument.Range(0, 100)

  // 获取选中文本的文本内容
  const font = await range.Font
  console.log(font)
}

示例 2

//@file=base.docx
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
}

HighlightColorIndex

返回或设置指定区域的突出显示颜色,页面刷新后高亮不消失

语法

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

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

参数

属性数据类型默认值必填说明
WdColorIndex
Enum
用于确定指定行的高度的规则,可参照 Enum.WdColorIndex

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回或设置指定区域的突出显示颜色,页面刷新后高亮不消失
  app.ActiveDocument.ActiveWindow.Selection.Range.HighlightColorIndex = 7
}

HighlightColorIndexTemp

返回或设置指定区域的突出显示颜色,页面刷新后高亮消失

语法

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

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

参数

属性数据类型默认值必填说明
WdColorIndex
Enum
用于确定指定行的高度的规则,可参照 Enum.WdColorIndex

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回或设置指定区域的突出显示颜色,页面刷新后高亮消失
  app.ActiveDocument.ActiveWindow.Selection.Range.HighlightColorIndexTemp = 7
}

Information()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

通过 Range.Information,我们可以获取到页面相关的各种信息(目前仅支持获取总页数信息)

由于文字文档是流式排版,没办法一开始就确定最终页数,只有浏览到最底部才知道总页数。

语法

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

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

参数

我们需要通过 app.Enum.WdInformation 拿到所选内容或区域的信息的类型。

属性数据类型默认值必填说明
WdInformation
Enum
4
获取页面信息,目前只开放 Enum.WdInformation.wdNumberOfPagesInDocument(即 4)来获取总页数信息。详细可参考: Enum.WdInformation

返回值

属性数据类型说明
PagesCount
Number
当前已经排版的页码
End
Boolean
是否已排版结束

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取总页数
  const totalPages = await app.ActiveDocument.Range.Information(
    app.Enum.WdInformation.wdNumberOfPagesInDocument
  )
  console.log(totalPages)
}

ParagraphFormat

返回或设置一个 ParagraphFormat 对象,该对象代表指定范围的段落设置

语法

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

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

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

示例 1

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取选中区域
  const range = await app.ActiveDocument.Range(1, 100)

  // 获取选中段落
  const info = await range.ParagraphFormat
}

示例 2

//@file=base.docx
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 paragraphFormat = await range.ParagraphFormat
}

Paragraphs

JSSDK: v1.1.14+、WebOffice v3.3.1+ 支持

返回或设置一个 Paragraphs 对象,该对象代表指定范围的段落集合

语法

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

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

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

示例 1

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取选中区域
  const range = await app.ActiveDocument.Range(1, 100)

  // 获取选中段落
  const info = await range.Paragraphs
}

示例 2

//@file=base.docx
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 paragraphFormat = await range.Paragraphs
}

Start

获取区域开始位置

语法

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

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

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

示例 1

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取选中区域
  const range = await app.ActiveDocument.Range(0, 100)

  // 获取选中文本的起点位置
  const start = await range.Start
  console.log(start)
}

示例 2

//@file=base.docx
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)
}

Text

获取文本需要 JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

设置文本需要 JSSDK: v1.1.11+、WebOffice v3.1.1+ 支持

通过 Range 选定区域,从而获取和设置到具体的文本内容信息

语法

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

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

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

示例 1

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取选中区域
  const range = await app.ActiveDocument.Range(0, 100)

  // 获取选中文本
  const text = await range.Text
  console.log(text)

  // 设置文本
  range.Text = 'WebOffice'
}

示例 2

//@file=base.docx
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 = 'WebOffice'
}

GetHtmlData()

JSSDK: v1.1.14+、WebOffice v3.5.1+ 支持

获取指定区域的带格式 HTML 数据

语法

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

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

返回值

属性数据类型说明
HTML
String
HTML 数据
Text
String
文本数据

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取选中区域
  const range = await app.ActiveDocument.Range(10, 20)

  // 获取指定区域的带格式 HTML 数据
  const htmlInfo = await range.GetHtmlData()
  console.log(htmlInfo)
}

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
结束位置

示例 1

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取选中区域
  const range = await app.ActiveDocument.ActiveWindow.Selection.Range(0, 100)

  // 获取指定区域对象
  const item = await range.Item(0, 50)
}

示例 2

//@file=base.docx
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)
}

PasteHtml()

JSSDK: v1.1.14+、WebOffice v4.1.1+ 支持

粘贴带格式的 HTML 数据到指定区域

语法

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

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

参数

属性数据类型默认值必填说明
HTML
String
HTML 数据,可通过 ActiveDocument.Range(Start, End).GetHtmlData() 获取

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取选中区域
  const range = await app.ActiveDocument.Range(10, 20)

  // 获取指定区域的带格式 HTML 数据
  const htmlInfo = await range.GetHtmlData()

  // 粘贴带格式的 HTML 数据到指定区域
  await app.ActiveDocument.Range(110, 110).PasteHtml({
    HTML: htmlInfo.HTML
  })
}

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
区域结束位置

示例 1

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取选中区域
  const range = await app.ActiveDocument.Range(0, 10)

  // 设置现有范围的起始字符和结束字符的位置
  await range.SetRange(10, 20)
}

示例 2

//@file=base.docx
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)
}