【问题标题】:Get Index of Specific Content Control based on ID or Title根据 ID 或 Title 获取特定内容控件的索引
【发布时间】:2019-05-22 05:17:15
【问题描述】:

我想通过给定特定标题的 VBA 检索单词内容控件的索引,而不必遍历所有内容控件来查找标题。

我知道我想选择的内容控件的标题,因此我可以将该特定内容控件的 ID 设置为一个变量,例如

a = ActiveDocument.SelectContentControlsByTitle("123").Item(1).ID

现在,我想知道该项目的索引在文档中的其他内容控件(文件模板中的 450 多个内容控件)中是什么,以便我可以将内容控件索引作为变量引用。

用通俗的话来说,我想要一些类似于“b=getIndexOfA(a)”的东西,这样我就可以执行以后的过程,例如:

for i=b to ActiveDocument.ContentControls.Count
    .....
next i

我在 Windows 10 上运行 Word 2016。

【问题讨论】:

    标签: vba ms-word word-contentcontrol


    【解决方案1】:

    以下方法仅适用于作为文本一部分的文档正文中的对象(与浮动图像相反)。获取对象的Range,然后将其起点设置为文档的开头。统计范围内该类型的所有对象:

    Dim lIndexCC as Long
    Dim cc as Word.ContentControl
    Dim rng as Word.Range
    
    Set cc = ActiveDocument.SelectContentControlsByTitle("123").Item(1)
    Set rng = cc.Range
    rng.Start = ActiveDocument.Content.Start
    lIndexCC = rng.ContentControls.Count
    Debug.Print lIndexCC
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-22
      • 1970-01-01
      • 2013-06-29
      • 2017-01-13
      • 1970-01-01
      • 2013-07-30
      相关资源
      最近更新 更多