MS Word忽略富文本框内的内容控件

时间:2016-03-07 16:04:07

标签: vba ms-word shapes dropdown

为什么我的MS Word VBA宏忽略了放在形状(富文本框)中的下拉列表?我试过通过标签,名称,号码等来引用它。我甚至让宏告诉我内容控件的数量:

MsgBox(ActiveDocument.ContentControls.Count)

我得到0。

没有任何作用。如果我把它从形状中拿出来,它就能正常工作。 MS Word给了我一个项目的计数。但由于某种原因,MS Word不会在形状内承认它。有关如何执行此操作的任何帮助吗?

1 个答案:

答案 0 :(得分:2)

编辑我之前的帖子是完全错误的。

主要文本故事中的每个文本框都是一个可以使用索引号访问的Shape。形状具有各种属性,但文本框架中有文本等,如果有的话。但在这种情况下,你需要的Range不是Range,而是TextRange。所以,例如形状2中的第一个contentControl是

ActiveDocument.Shapes(2).TextFrame.TextRange.ContentControls(1)

您可能需要遍历您的形状,您可能需要验证给定的形状是文本框和/或它是否具有TextFrame。

如果您的文本框位于其他故事(如页眉或页脚)中,则可能需要识别相关的StoryRange。