主题
区域
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)
}