【问题标题】:MS Word Ignores Content Control Inside a Rich Text BoxMS Word 忽略富文本框中的内容控件
【发布时间】:2016-03-07 16:04:07
【问题描述】:

我的 MS Word VBA 宏忽略我放置在形状(富文本框)内的下拉列表是否有原因?我试过用标签、名称、数字等来引用它。我什至让宏告诉我内容控件的数量:

MsgBox(ActiveDocument.ContentControls.Count)

我得到 0。

没有任何作用。如果我把它从形状中取出,它工作得很好。 MS Word 给了我 1 个项目的计数。但由于某种原因,MS Word 不会在形状内承认它。有关如何执行此操作的任何帮助?

【问题讨论】:

  • 录制你用它做某事的宏,看源码?

标签: vba ms-word shapes dropdown


【解决方案1】:

由于我之前的帖子完全错误而编辑。

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

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

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

如果您的文本框位于另一个 Story(例如页眉或页脚)中,您可能需要识别相关的 StoryRange。

【讨论】:

  • 你好 bibadia。这很棒。谢谢!但 MS Word 只找到第一个下拉菜单。当我使用 ActiveDocument.StoryRanges(wdTextFrameStory).ContentControls.Count 时,尽我所能,它只会说 1。当我尝试遍历它们时,它只能找到第一个,即使我嵌套了 67 个下拉列表内部形状。知道为什么会这样吗?
  • @Steve G.:抱歉,那里的答案完全错误 - 我已经编辑了它(有些匆忙,所以可能有错别字)。
  • 是的!谢谢!我认为你刚刚为我敞开心扉,比你想象的要多得多。我是 VBA 的新手,但您只是通过解决这一特定问题帮助我解决了很多错误。非常感谢!
猜你喜欢
  • 2020-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多