Skip to content

下拉列表内容控件

JSSDK: v1.1.15+、WebOffice v4.1.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
}

Count

JSSDK: v1.1.15+、WebOffice v4.1.1+ 支持

获取下拉内容控件中列表的总数量

语法

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

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

示例 1:通过新增项来获取总数量

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

  const app = instance.Application

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

  // 新增一个下拉内容控件
  const ContentControl = await ContentControls.Add({
    Type: 4
  })

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

  // 给该控件添加选项
  await ContentControlListEntries.Add({
    Text: 'Text 1',
    Value: 'Value 1',
    Index: 1
  })

  // 给该控件添加选项:Value 和 Index 可以不填,这样 Value 会等于 Text,Index 就是添加到最后面
  await ContentControlListEntries.Add({
    Text: 'Text 2'
  })

  // 获取下拉内容控件中列表的总数量
  const Count = await ContentControlListEntries.Count
  console.log(Count)
}

示例 2:通过指定项获取总数量

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

  const app = instance.Application

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

  // 新增一个下拉内容控件
  const ContentControl = await ContentControls.Add({
    Type: 4
  })

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

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

  // 获取下拉内容控件中列表的总数量
  const Count = await ContentControlListEntries.Count
  console.log(Count)
}

Add()

JSSDK: v1.1.15+、WebOffice v4.1.1+ 支持

将新的列表项添加到下拉列表或组合框内容控件,并返回 ContentControlListEntry 对象,代表下拉内容控件的下拉列表中单个下拉选项

语法

表达式.ActiveDocument.ContentControls.Item(Index).DropdownListEntries.Add({ Text, Value, Index })

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

示例 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

  // 3、给该控件添加选项
  await ContentControlListEntries.Add({
    Text: 'Text 1',
    Value: 'Value 1',
    Index: 1
  })

  // 4、给该控件添加选项:Value 和 Index 可以不填,这样 Value 会等于 Text,Index 就是添加到最后面
  await ContentControlListEntries.Add({
    Text: 'Text 2'
  })
}

示例 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

  // 4、将新的列表项添加到下拉列表或组合框内容控件,并返回 ContentControlListEntry 对象,代表下拉内容控件的下拉列表中单个下拉选项
  await ContentControlListEntries.Add({
    Text: 'Text 1',
    Value: 'Value 1',
    Index: 1
  })
}

Clear()

JSSDK: v1.1.15+、WebOffice v4.1.1+ 支持

从下拉列表或组合框内容控件中清除所有项

语法

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

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

示例 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

  // 3、给该控件添加选项
  await ContentControlListEntries.Add({
    Text: 'Text 1',
    Value: 'Value 1',
    Index: 1
  })

  // 3、给该控件添加选项:Value 和 Index 可以不填,这样 Value 会等于 Text,Index 就是添加到最后面
  await ContentControlListEntries.Add({
    Text: 'Text 2'
  })

  // 4、进行第 1 项选中操作
  await ContentControlListEntries.Item(1).Select()

  // 5、3 秒后进行取消选中操作
  setTimeout(async () => {
    await ContentControlListEntries.UnSelect()
  }, 3000)
}

示例 2:通过指定项来给清空下拉列表选项

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

  const app = instance.Application

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

  // 1、新增一个下拉内容控件
  const ContentControl = await app.ActiveDocument.ContentControls.Add({
    Type: 4
  })

  // 2、给该控件添加选项
  await ContentControl.DropdownListEntries.Add({
    Text: 'Text 1',
    Value: 'Value 1',
    Index: 1
  })

  // 2、给该控件添加选项:Value 和 Index 可以不填,这样 Value 会等于 Text,Index 就是添加到最后面
  await ContentControl.DropdownListEntries.Add({
    Text: 'Text 2'
  })

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

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

  // 5、获取该下拉列表的第 1 个选项(Text 1)
  const DropdownListEntry1 = await ContentControlListEntries.Item(1)

  // 6、获取第 1 个选项的显示文本
  const Value = await DropdownListEntry1.Value
  console.log(Value)

  // 7、确定是我们需要删除的下拉选项,进行选中操作
  await DropdownListEntry1.Select()

  // 8、3 秒后进行取消选中操作
  setTimeout(async () => {
    await ContentControlListEntries.UnSelect()
  }, 3000)
}

Item()

JSSDK: v1.1.15+、WebOffice v4.1.1+ 支持

返回一个 ContentControlListEntry 对象,该对象代表集合中的指定项

语法

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

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

参数

属性数据类型默认值必填说明
Index
Number
第 Index 个下拉列表的选项

示例 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

  // 3、给该控件添加选项
  await ContentControlListEntries.Add({
    Text: 'Text 1',
    Value: 'Value 1',
    Index: 1
  })

  // 3、给该控件添加选项:Value 和 Index 可以不填,这样 Value 会等于 Text,Index 就是添加到最后面
  await ContentControlListEntries.Add({
    Text: 'Text 2'
  })

  // 4、获取第 1 项
  const ContentControlListEntry1 = await ContentControlListEntries.Item(1)
}

示例 2:通过指定项来给清空下拉列表选项

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

  const app = instance.Application

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

  // 1、新增一个下拉内容控件
  const ContentControl = await app.ActiveDocument.ContentControls.Add({
    Type: 4
  })

  // 2、给该控件添加选项
  await ContentControl.DropdownListEntries.Add({
    Text: 'Text 1',
    Value: 'Value 1',
    Index: 1
  })

  // 2、给该控件添加选项:Value 和 Index 可以不填,这样 Value 会等于 Text,Index 就是添加到最后面
  await ContentControl.DropdownListEntries.Add({
    Text: 'Text 2'
  })

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

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

  // 5、获取该下拉列表的第 1 个选项(Text 1)
  const DropdownListEntry1 = await DropdownListEntries.Item(1)
}

Item(Index).Text

JSSDK: v1.1.15+、WebOffice v4.1.1+ 支持

返回或设置一个字符串,表示下拉列表或组合框内容控件的列表项的显示文本

语法

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

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

示例 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

  // 3、给该控件添加选项
  await ContentControlListEntries.Add({
    Text: 'Text 1',
    Value: 'Value 1',
    Index: 1
  })

  // 3、给该控件添加选项:Value 和 Index 可以不填,这样 Value 会等于 Text,Index 就是添加到最后面
  await ContentControlListEntries.Add({
    Text: 'Text 2'
  })

  // 4、获取第 1 项的文本
  const Text = await ContentControlListEntries.Item(1).Text
  console.log(Text)
}

示例 2:通过指定项来给清空下拉列表选项

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

  const app = instance.Application

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

  // 1、新增一个下拉内容控件
  const ContentControl = await app.ActiveDocument.ContentControls.Add({
    Type: 4
  })

  // 2、给该控件添加选项
  await ContentControl.DropdownListEntries.Add({
    Text: 'Text 1',
    Value: 'Value 1',
    Index: 1
  })

  // 2、给该控件添加选项:Value 和 Index 可以不填,这样 Value 会等于 Text,Index 就是添加到最后面
  await ContentControl.DropdownListEntries.Add({
    Text: 'Text 2'
  })

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

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

  // 5、获取该下拉列表的第 1 个选项(Text 1)
  const DropdownListEntry1 = await ContentControlListEntries.Item(1)

  // 6、获取第 1 个选项的显示文本
  const Value = await DropdownListEntry1.Value
  console.log(Value)

  // 7、确定是我们需要删除的下拉选项,进行文本获取
  const Text = await DropdownListEntry1.Text
  console.log(Text)
}

Item(Index).Value

JSSDK: v1.1.15+、WebOffice v4.1.1+ 支持

返回或设置一个字符串,表示下拉列表或组合框内容控件的列表项的显示文本

语法

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

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

示例 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

  // 3、给该控件添加选项
  await ContentControlListEntries.Add({
    Text: 'Text 1',
    Value: 'Value 1',
    Index: 1
  })

  // 3、给该控件添加选项:Value 和 Index 可以不填,这样 Value 会等于 Text,Index 就是添加到最后面
  await ContentControlListEntries.Add({
    Text: 'Text 2'
  })

  // 4、获取第 1 项的值
  const Value = await ContentControlListEntries.Item(1).Value
  console.log(Value)
}

示例 2:通过指定项来给清空下拉列表选项

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

  const app = instance.Application

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

  // 1、新增一个下拉内容控件
  const ContentControl = await app.ActiveDocument.ContentControls.Add({
    Type: 4
  })

  // 2、给该控件添加选项
  await ContentControl.DropdownListEntries.Add({
    Text: 'Text 1',
    Value: 'Value 1',
    Index: 1
  })

  // 2、给该控件添加选项:Value 和 Index 可以不填,这样 Value 会等于 Text,Index 就是添加到最后面
  await ContentControl.DropdownListEntries.Add({
    Text: 'Text 2'
  })

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

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

  // 5、获取该下拉列表的第 1 个选项(Text 1)
  const DropdownListEntry1 = await ContentControlListEntries.Item(1)

  // 6、获取第 1 个选项的显示文本
  const Value = await DropdownListEntry1.Value
  console.log(Value)

  // 7、确定是我们需要删除的下拉选项,进行值获取
  const Value = await DropdownListEntry1.Value
  console.log(Value)
}

Item(Index).Delete()

JSSDK: v1.1.15+、WebOffice v4.1.1+ 支持

删除组合框或下拉列表内容控件中的指定项

限制说明:

  1. 选中的选项不会删除;
  2. 列表中至少剩下一个选项,如果最终列表为空,那么会留下列表中第一个选项;

语法

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

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

示例 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

  // 3、给该控件添加选项
  await ContentControlListEntries.Add({
    Text: 'Text 1',
    Value: 'Value 1',
    Index: 1
  })

  // 3、给该控件添加选项:Value 和 Index 可以不填,这样 Value 会等于 Text,Index 就是添加到最后面
  await ContentControlListEntries.Add({
    Text: 'Text 2'
  })

  // 4、进行第 1 项选中操作
  await ContentControlListEntries.Item(1).Delete()
}

示例 2:通过指定项来给清空下拉列表选项

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

  const app = instance.Application

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

  // 1、新增一个下拉内容控件
  const ContentControl = await app.ActiveDocument.ContentControls.Add({
    Type: 4
  })

  // 2、给该控件添加选项
  await ContentControl.DropdownListEntries.Add({
    Text: 'Text 1',
    Value: 'Value 1',
    Index: 1
  })

  // 2、给该控件添加选项:Value 和 Index 可以不填,这样 Value 会等于 Text,Index 就是添加到最后面
  await ContentControl.DropdownListEntries.Add({
    Text: 'Text 2'
  })

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

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

  // 5、获取该下拉列表的第 1 个选项(Text 1)
  const DropdownListEntry1 = await ContentControlListEntries.Item(1)

  // 6、获取第 1 个选项的显示文本
  const Value = await DropdownListEntry1.Value
  console.log(Value)

  // 7、确定是我们需要删除的下拉选项,进行选中操作
  await DropdownListEntry1.Delete()
}

Item(Index).Select()

JSSDK: v1.1.15+、WebOffice v4.1.1+ 支持

选择下拉列表或组合框内容控件中的列表项,将内容控件的文本设置为项的值

语法

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

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

示例 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

  // 3、给该控件添加选项
  await ContentControlListEntries.Add({
    Text: 'Text 1',
    Value: 'Value 1',
    Index: 1
  })

  // 3、给该控件添加选项:Value 和 Index 可以不填,这样 Value 会等于 Text,Index 就是添加到最后面
  await ContentControlListEntries.Add({
    Text: 'Text 2'
  })

  // 4、进行第 1 项选中操作
  await ContentControlListEntries.Item(1).Select()
}

示例 2:通过指定项来给清空下拉列表选项

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

  const app = instance.Application

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

  // 1、新增一个下拉内容控件
  const ContentControl = await app.ActiveDocument.ContentControls.Add({
    Type: 4
  })

  // 2、给该控件添加选项
  await ContentControl.DropdownListEntries.Add({
    Text: 'Text 1',
    Value: 'Value 1',
    Index: 1
  })

  // 2、给该控件添加选项:Value 和 Index 可以不填,这样 Value 会等于 Text,Index 就是添加到最后面
  await ContentControl.DropdownListEntries.Add({
    Text: 'Text 2'
  })

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

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

  // 5、获取该下拉列表的第 1 个选项(Text 1)
  const DropdownListEntry1 = await ContentControlListEntries.Item(1)

  // 6、获取第 1 个选项的显示文本
  const Value = await DropdownListEntry1.Value
  console.log(Value)

  // 7、确定是我们需要删除的下拉选项,进行选中操作
  await DropdownListEntry1.Select()
}