Skip to content

文字组件文本操作相关 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
}