主题
内容控件操作相关 API
获取内容控件对象
ActiveDocument.ContentControls
文档中的所有内容控件
语法
表达式.ActiveDocument.ContentControls
表达式:文档类型应用对象
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 获取内容控件对象
const contentControls = await app.ActiveDocument.ContentControls
}
控件数量
ActiveDocument.ContentControls.Count
获取文档内容控件的数量
语法
表达式:ActiveDocument.ContentControls.Count
表达式:文档类型应用对象
返回值
返回 Number
代表文档内容控件的数量。
示例
//@file=base.docx
// 获取文档内容控件的数量
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)
单个内容控件对象
语法
表达式.ActiveDocument.ContentControls.Item(Index)
表达式:文档类型应用对象
参数
属性 | 数据类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
Index | String | 是 | 第 Index 个内容控件 |
返回值
返回代表查询的那个内容控件。
示例
//@file=base.docx
async function example() {
await instance.ready()
const app = instance.Application
// 内容控件对象
const contentControls = await app.ActiveDocument.ContentControls
// 获取第 1 个内容控件
const contentControl = await contentControls.Item(1)
}
获取和设置单个内容控件文本
ActiveDocument.ContentControls.Item(Index).Range
内容控件的范围
JSSDK: v1.1.12+、WebOffice v3.1.1+ 支持
可以通过 Range.Text,来获取和设置内容控件的文本值
语法
表达式.ActiveDocument.ContentControls.Item(Index).Range
表达式:文档类型应用对象
示例 1:获取内容控件的范围
//@file=base.docx
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)
}
示例 2:获取和设置内容控件的文本值
//@file=base.docx
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 = 'WebOffice'
}
控件占位符文本
ActiveDocument.ContentControls.Item(Index).PlaceholderText
获取控件占位符文本
语法
表达式.ActiveDocument.ContentControls.Item(Index).PlaceholderText
表达式:文档类型应用对象
示例
//@file=base.docx
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
内容控件的标题
语法
表达式.ActiveDocument.ContentControls.Item(Index).Title
表达式:文档类型应用对象
示例
//@file=base.docx
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 = 'WebOffice'
// 获取第 1 个内容控件的标题
const title = await contentControl.Title
console.log(title)
}
控件标签
ActiveDocument.ContentControls.Item(Index).Tag
内容控件的标签
语法
表达式.ActiveDocument.ContentControls.Item(Index).Tag
表达式:文档类型应用对象
示例
//@file=base.docx
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 = 'WebOffice'
// 获取第 1 个内容控件的标签
const Tag = await contentControl.Tag
console.log(Tag)
}
新增内容控件
ActiveDocument.ContentControls.Add()
在光标处插入内容控件
JSSDK: v1.1.11+、WebOffice v3.1.1+ 支持
语法
表达式.ActiveDocument.ContentControls.Add()
表达式:文档类型应用对象
返回值
返回新增的 ContentControl 对象
示例
//@file=base.docx
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()
}