根据 ID 或标题获取特定内容控件的索引
Get Index of Specific Content Control based on ID or Title
我想通过 VBA 给定特定标题来检索单词内容控件的索引,而不必遍历所有内容控件来查找标题。
我知道我想要的内容控件的标题 select 因此我可以将该特定内容控件的 ID 设置为变量
a = ActiveDocument.SelectContentControlsByTitle("123").Item(1).ID
现在,我想知道该项目在文档中的其他内容控件(文件模板中超过 450 个内容控件)中的索引是什么,以便我可以将内容控件索引作为变量引用.
通俗地说,我想要类似 "b=getIndexOfA(a)" 的东西,这样我就可以执行以后的过程,例如:
for i=b to ActiveDocument.ContentControls.Count
.....
next i
我在 运行 Word 2016 Windows 10.
以下方法仅适用于作为文本一部分的文档正文中的对象(与浮动图像相对)。获取对象的 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
我想通过 VBA 给定特定标题来检索单词内容控件的索引,而不必遍历所有内容控件来查找标题。
我知道我想要的内容控件的标题 select 因此我可以将该特定内容控件的 ID 设置为变量
a = ActiveDocument.SelectContentControlsByTitle("123").Item(1).ID
现在,我想知道该项目在文档中的其他内容控件(文件模板中超过 450 个内容控件)中的索引是什么,以便我可以将内容控件索引作为变量引用.
通俗地说,我想要类似 "b=getIndexOfA(a)" 的东西,这样我就可以执行以后的过程,例如:
for i=b to ActiveDocument.ContentControls.Count
.....
next i
我在 运行 Word 2016 Windows 10.
以下方法仅适用于作为文本一部分的文档正文中的对象(与浮动图像相对)。获取对象的 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