Skip to content

内容控件

ContentControls

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

文档中的所有内容控件

语法

表达式.ActiveDocument.ContentControls

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

Count

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

获取文档内容控件的数量

语法

表达式: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)
}

Add({ Type })

JSSDK: v1.1.11+、WebOffice v3.1.1+ 支持

在光标处插入内容控件

语法

表达式.ActiveDocument.ContentControls.Add({ Type })

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

参数

Type 属性于 JSSDK: v1.1.15+、WebOffice v4.1.1+ 新增支持,支持下拉内容控件的添加

属性数据类型默认值必填说明
Type
Enum
内容控件类型,如果省略 Type,默认插入 RTF 内容控件。可以是 WdContentControlType 常量之一

返回值

返回新增的 ContentControl 对象

示例 1:添加 RTF 内容控件

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 内容控件对象
  const contentControls = await app.ActiveDocument.ContentControls

  // 在光标处插入内容控件
  await contentControls.Add()
}

示例 2:添加下拉内容控件

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 内容控件对象
  const contentControls = await app.ActiveDocument.ContentControls

  // 在光标处插入下拉内容控件
  await contentControls.Add({
    Type: 4
  })
}

Item()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

返回一个 ContentControl 对象,该对象代表文档中内容控件集合中的指定内容控件

语法

表达式.ActiveDocument.ContentControls.Item(Index)

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

参数

属性数据类型默认值必填说明
Index
Number
第 Index 个内容控件

返回值

返回 ContentControl 对象

示例

//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回第  1 个 ContentControl 对象
  const contentControl = await app.ActiveDocument.ContentControls.Item(1)
}

Item(Index).DropdownListEntries

JSSDK: v1.1.15+、WebOffice v3.4.1+ 支持

获取下拉列表内容控件中的所有项。只读。返回 ContentControlListEntries 对象,代表下拉内容控件的下拉列表

语法

表达式.ActiveDocument.ContentControls.Item(Index).DropdownListEntries

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

示例 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.Add({
    Type: 4
  })

  // 2、获取该下拉内容控件的下拉列表
  const ContentControlListEntries = await ContentControl.DropdownListEntries
}

示例 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.Add({
    Type: 4
  })

  // 2、获取文档中的内容控件数量(包含文本和下拉内容控件)
  // 假设这里有 2 个(打印为 2),那么新增的那个内容控件就是第 2 个
  const Count = await app.ActiveDocument.ContentControls.Count

  // 3、获取第 2 个下拉内容控件的下拉列表
  const ContentControlListEntries =
    await app.ActiveDocument.ContentControls.Item(Count).DropdownListEntries
}

Item(Index).PlaceholderText

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

获取内容控件占位符文本

语法

表达式.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)
}

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

Item(Index).Tag

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

内容控件的标签

语法

表达式.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)
}

Item(Index).Title

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

内容控件的标题

语法

表达式.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)
}

Item(Index).SetPlaceholderText()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

设置内容控件占位符文本

语法

表达式.ActiveDocument.ContentControls.Item(Index).SetPlaceholderText({ Text })

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

参数

属性数据类型默认值必填说明
Text
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)

  // 设置第 1 个内容控件的文本
  await contentControl.SetPlaceholderText({ Text: 'WebOffice' })
}