在Combobox中按类别名称筛选的构建块

时间:2015-11-27 13:46:13

标签: vba ms-word word-vba

我使用组合框创建了一个Userform,用于选择Building Blocks并将它们插入到指定位置的word文档中。我正在努力解决以下问题:

按类别名称插入Combobox构建块。

目前我正在参考类别索引,我并不是100%满意:

Sub DataLoad()
  With Startup.CmbDutyCond ' refer to combobox
    For i = 1 To oTemplate.BuildingBlockTypes.Item(wdTypeTables).Categories.Item(2).BuildingBlocks.Count
      Set oBuildingBlock = oTemplate.BuildingBlockTypes.Item(wdTypeTables).Categories.Item(2).BuildingBlocks.Item(i)
      .AddItem oBuildingBlock.Name
    Next
  End With
End Sub

代码有效;它按类别插入构建块列表。但是,如果我添加一个新类别怎么办?索引号可能会更改,它将在Combobox中显示错误的构建块列表。如何编写将通过>>>指定的名称<<<<<<<<<<<该类别,而不是索引?

1 个答案:

答案 0 :(得分:0)

Category对象具有Name属性。您可以使用Name(字符串值)作为Item的参数而不是索引号。

oTemplate.BuildingBlockTypes.Item(wdTypeTables).Categories.Item("Specified NAME").BuildingBlocks.Item(i)