主题
文字组件文本操作相关 API
获取和设置文本
ActiveDocument.Range(Start, End).Text 或 ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item(Index).Range.Text
通过 Range 选定区域,从而获取和设置到具体的文本内容信息
设置文本需要 JSSDK: v1.1.11+、WebOffice v3.1.1+ 支持
语法
表达式.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'
}
修改文本
ActiveDocument.ReplaceText()
根据传入数组全文匹配并替换文本
语法
表达式.ActiveDocument.ReplaceText(Array.<Object>)
表达式:文档类型应用对象
参数
传入一个数组,表明需要替换的文本列表。
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
list | list[] | 是 | 要替换的文本列表 |
返回值
返回 Boolean
值,为 true
表明替换成功,为 false
表明替换失败。
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
const isSuccess = await app.ActiveDocument.ReplaceText([
{
key: 'WebOffice',
value: 'js-sdk'
}
])
console.log(isSuccess) // true
}
插入文本
ActiveDocument.ActiveWindow.Selection.InsertAfter()
选区后插入文本
语法
表达式.ActiveDocument.ActiveWindow.Selection.InsertAfter(Text)
表达式:文档类型应用对象
参数
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
Text | string | 是 | 需要插入的文本 |
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 选区后插入文本
await app.ActiveDocument.ActiveWindow.Selection.InsertAfter('Text')
}
插入分隔符
ActiveDocument.ActiveWindow.Selection.InsertBreak()
在选区后面插入分隔符
语法
表达式.ActiveDocument.ActiveWindow.Selection.InsertBreak()
表达式:文档类型应用对象
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 选区位置插入分隔符
await app.ActiveDocument.ActiveWindow.Selection.InsertBreak()
}
删除字符
ActiveDocument.ActiveWindow.Selection.TypeBackspace()
删除选区位置前的字符
语法
表达式.ActiveDocument.ActiveWindow.Selection.TypeBackspace()
表达式:文档类型应用对象
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 光标向下移动
await app.ActiveDocument.ActiveWindow.Selection.MoveDown()
// 删除光标前的字符
await app.ActiveDocument.ActiveWindow.Selection.TypeBackspace()
}
开始位置
ActiveDocument.Range(Start, End).Start 或 ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item(Index).Range.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)
}
结束位置
ActiveDocument.Range(Start, End).End 或 ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item(Index).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)
}
获取字体对象
ActiveDocument.Range(Start, End).Font
通过 Font
对象可以控制选中内容的字体,例如设置字体类型、字体大小等内容。
语法
表达式.ActiveDocument.Range(Start, End).Font
表达式:文档类型应用对象
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 字体对象
const font = await app.ActiveDocument.Range(0, 20).Font
}
设置字体类型
ActiveDocument.Range(Start, End).Font.Name
设置选定文字的字体类型
语法
表达式.ActiveDocument.Range(Start, End).Font.Name
表达式:文档类型应用对象
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 字体对象
const font = await app.ActiveDocument.Range(0, 20).Font
// 设置选定文字的字体类型
font.Name = '宋体'
}
设置字体大小
ActiveDocument.Range(Start, End).Font.Size
设置选定文字的字体大小
语法
表达式.ActiveDocument.Range(Start, End).Font.Size
表达式:文档类型应用对象
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 字体对象
const font = await app.ActiveDocument.Range(0, 20).Font
// 设置选定文字的字体大小
font.Size = 30
}
设置字体颜色
ActiveDocument.Range(Start, End).Font.Color 或 ActiveDocument.Range(Start, End).Font.ColorIndex
字体颜色设置
语法
表达式.ActiveDocument.Range(Start, End).Font.ColorIndex = WdColorIndex
或 表达式.ActiveDocument.Range(Start, End).Font.Color
表达式:文档类型应用对象
设置字体颜色时,WdColorIndex
详细可参考: Enum.WdColorIndex
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 字体对象
const font = await app.ActiveDocument.Range(0, 20).Font
// 设置选定文字的字体颜色 (方法1)
font.Color = '#228B22'
// 设置字体颜色 (方法2)
// font.ColorIndex = 2
}
设置文字字体高亮色
ActiveDocument.Range(Start, End).Font.HighLight
设置选定文字的字体颜色
语法
表达式.ActiveDocument.Range(Start, End).Font.HighLight
表达式:文档类型应用对象
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 字体对象
const font = await app.ActiveDocument.Range(0, 20).Font
// 设置选定文字的字体颜色
font.HighLight = '#228B22'
}
获取段落对象
ActiveDocument.Range(Start, End).ParagraphFormat
段落对象
语法
表达式.ActiveDocument.Range(Start, End).ParagraphFormat
表达式:文档类型应用对象
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 段落对象
const paragraphFormat = await app.ActiveDocument.Range(0, 20).ParagraphFormat
}
插入新段落
ActiveDocument.ActiveWindow.Selection.InsertParagraph()
选区位置插入新段
语法
表达式.ActiveDocument.ActiveWindow.Selection.InsertParagraph()
表达式:文档类型应用对象
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 选区位置插入新段
await app.ActiveDocument.ActiveWindow.Selection.InsertParagraph()
}
设置段落首行缩进
ActiveDocument.Range(Start, End).ParagraphFormat.CharacterUnitFirstLineIndent
首行缩进
语法
表达式.ActiveDocument.Range(Start, End).ParagraphFormat.CharacterUnitFirstLineIndent
表达式:文档类型应用对象
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 段落对象
const paragraphFormat = await app.ActiveDocument.Range(0, 20).ParagraphFormat
// 首行缩进 2 单位
paragraphFormat.CharacterUnitFirstLineIndent = 2
}
设置段落行距
ActiveDocument.Range(Start, End).ParagraphFormat.LineSpacingRule
行距
语法
表达式.ActiveDocument.Range(Start, End).ParagraphFormat.LineSpacingRule
表达式:文档类型应用对象
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 段落对象
const paragraphFormat = await app.ActiveDocument.Range(0, 20).ParagraphFormat
// 1.5 倍间距
paragraphFormat.LineSpacingRule = 1.5
}