本文介绍使用文字文档时如何获取控件数量、设置控件指定属性、获取控件标题、获取控件标签等。
获取内容控件对象
获取文档中的所有内容控件对象。
语法
表达式.ActiveDocument.ContentControls
表达式:文档类型应用对象
示例
//@file=base.docx async function example() { await instance.ready(); const app = instance.Application; //获取内容控件对象 const contentControls = await app.ActiveDocument.ContentControls; }
获取内容控件数量
获取文档中的内容控件数量。
语法
表达式:ActiveDocument.ContentControls.Count
表达式:文档类型应用对象
返回值
返回
Number
代表文档内容控件的数量。示例
async function example() { await instance.ready(); const app = instance.Application; //获取内容控件对象 const contentControls = await app.ActiveDocument.ContentControls; //获取内容控件数量 const count = await contentControls.Count; console.log(count); }
单个内容控件
获取单个内容控件对象
语法
表达式.ActiveDocument.ContentControls.Item(Index)
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
Index
String
是
第Index个内容控件。
返回值
返回指定的内容控件对象。
示例
async function example() { await instance.ready(); const app = instance.Application; //获取内容控件对象 const contentControls = await app.ActiveDocument.ContentControls; //获取第1个内容控件 const contentControl = await contentControls.Item(1); }
获取和设置控件文本
通过Range.Text
获取和设置内容控件的文本值。
JS-SDK V1.1.15及以上版本支持此功能。
语法
表达式.ActiveDocument.ContentControls.Item(Index).Range
表达式:文档类型应用对象
示例
获取内容控件的范围
async function example() { await instance.ready(); const app = instance.Application; //获取内容控件对象 const contentControls = await app.ActiveDocument.ContentControls; //获取第1个内容控件 const contentControl = await contentControls.Item(1); //获取第1个内容控件的范围 const range = await contentControl.Range; console.log(range); }
获取和设置内容控件的文本值
async function example() { await instance.ready(); const app = instance.Application; //获取内容控件对象 const contentControls = await app.ActiveDocument.ContentControls; //获取第1个内容控件 const contentControl = await contentControls.Item(1); //获取第1个内容控件的范围 const range = await contentControl.Range; //获取第1个内容控件的文本 const text = range.Text; console.log(text); //设置第1个内容控件的文本 range.Text = 'Aliyun'; }
获取控件占位符文本
JS-SDK V1.1.15及以上版本支持此功能。
语法
表达式.ActiveDocument.ContentControls.Item(Index).PlaceholderText
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取内容控件对象 const contentControls = await app.ActiveDocument.ContentControls; //获取第1个内容控件 const contentControl = await contentControls.Item(1); //获取第1个控件占位符文本 const placeholderText = await contentControl.PlaceholderText; console.log(placeholderText); }
获取控件标题
语法
表达式.ActiveDocument.ContentControls.Item(Index).Title
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取内容控件对象 const contentControls = await app.ActiveDocument.ContentControls; //获取第1个内容控件 const contentControl = await contentControls.Item(1); //设置第1个内容控件的标题 contentControl.Title = 'Aliyun'; //获取第1个内容控件的标题 const title = await contentControl.Title; console.log(title); }
获取和设置内容控件标签
语法
表达式.ActiveDocument.ContentControls.Item(Index).Tag
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取内容控件对象 const contentControls = await app.ActiveDocument.ContentControls; //获取第1个内容控件 const contentControl = await contentControls.Item(1); //设置第1个内容控件的标签 contentControl.Tag = 'Aliyun'; //获取第1个内容控件的标签 const Tag = await contentControl.Tag; console.log(Tag); }
新增内容控件
JS-SDK V1.1.15及以上版本支持此功能。
语法
表达式.ActiveDocument.ContentControls.Add()
表达式:文档类型应用对象
返回值
返回新增的
ContentControl
对象。示例
async function example() { await instance.ready(); const app = instance.Application; //移动光标到指定位置(前面) const info = await app.ActiveDocument.Find.Execute('区别'); const pos = info[0] && info[0].pos || 0; await app.ActiveDocument.Range.SetRange(pos, pos); //获取内容控件对象 const contentControls = await app.ActiveDocument.ContentControls; //在光标处插入内容控件 await contentControls.Add(); }