全部产品

文本

获取文本

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

语法:

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

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

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

示例1:

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);
}

示例2:

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);
}

修改文本

根据传入数组全文匹配并替换文本。

语法:

表达式.ActiveDocument.ReplaceText(Array.<Object>)

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

参数:

传入一个数组,表明需要替换的文本列表。

属性

数据类型

必填

说明

list

Array.<Object>

要替换的文本列表

list说明:

属性

数据类型

必填

说明

key

String

被替换的文本

value

String

替换的文本

options

Object

替换配置

options说明:

属性

数据类型

必填

说明

isWildcardMatched

Boolean

使用通配符

isCaseSensitive

Boolean

区分大小写

isWholeWordMatched

Boolean

全字匹配

isWidthIgnored

Boolean

忽略全/半角

返回值:

返回 Boolean 值,为 true 表明替换成功,为 false 表明替换失败。

示例:

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(Text)

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

参数:

属性

数据类型

必填

说明

Text

String

需要插入的文本

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 选区后插入文本
  await app.ActiveDocument.ActiveWindow.Selection.InsertAfter('Text');
}

插入分隔符

在选区后面插入分隔符。

语法:

表达式.ActiveDocument.ActiveWindow.Selection.InsertBreak()

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 选区位置插入分隔符
  await app.ActiveDocument.ActiveWindow.Selection.InsertBreak();
}

删除字符

删除选区位置前的字符。

语法:

表达式.ActiveDocument.ActiveWindow.Selection.TypeBackspace()

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

示例:

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

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

示例1:

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:

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

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

示例1:

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:

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 对象可以控制选中内容的字体,例如设置字体类型、字体大小等内容。

语法:

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

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

示例:

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

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

示例:

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

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 字体对象
  const font = await app.ActiveDocument.Range(0, 20).Font;
  
  // 设置选定文字的字体大小
  font.Size = 30;
}

字体颜色设置1

设置选定文字的字体颜色。

语法:

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

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 字体对象
  const font = await app.ActiveDocument.Range(0, 20).Font;
  
  // 设置选定文字的字体颜色
  font.Color = '#228B22';
}

字体颜色设置2

字体颜色设置。

语法:

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

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

参数:

属性

数据类型

必填

说明

WdColorIndex

Enum

设置字体设置,详细可参考:Enum.WdColorIndex

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 字体对象
  const font = await app.ActiveDocument.Range(0, 20).Font;

  // 设置字体颜色
  await font.ColorIndex(2);
}

字体高亮色

设置选定文字的字体颜色。

语法:

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

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

示例:

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

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;

  // 段落对象
  const paragraphFormat = await app.ActiveDocument.Range(0, 20).ParagraphFormat;
}

插入新段落

选区位置插入新段。

语法:

表达式.ActiveDocument.ActiveWindow.Selection.InsertParagraph()

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

示例:

async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 选区位置插入新段
  await app.ActiveDocument.ActiveWindow.Selection.InsertParagraph();
}

首行缩进

语法:

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

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

示例:

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

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

示例:

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;
}