本文介绍使用文字文档时如何修改指定文本、设置选定文字的字体大小、在选定位置插入新段落等。
获取和设置文本
获取指定区域内具体的文本内容信息。
语法
表达式.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(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; }
设置字体颜色
设置选定文字的字体颜色。有以下两种方式:
方法一:
语法
表达式.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'; }
方法二:
语法
表达式.ActiveDocument.Range(Start, End).Font.ColorIndex(WdColorIndex)
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
WdColorIndex
Enum
是
设置字体颜色。
Enum.WdColorIndex
取值范围如下:-1或wdByAuthor:由文档作者定义的颜色。
0或wdAutor(默认):自动配色,通常为黑色。
1或wdBlackr:黑色。
2或wdBluer:蓝色。
3或wdTurquoiser:青绿色。
4或wdBrightGreen:鲜绿色。
5或wdPink:粉红色。
6或wdRed:红色。
7或wdYellow:黄色。
8或wdWhite:白色。
9或wdDarkBlue:深蓝色。
10或wdTeal:青色。
11或wdGreen:绿色。
12或wdViolet:紫色。
13或wdDarkRed:深红色。
14或wdDarkYellow:深黄色。
15或wdGray50:50%灰色底纹。
16或wdGray25:25%灰色底纹。
示例
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; }