使用对象浏览器中未列出的对象属性
我一直在研究VBA中对象属性和方法的底层结构。 我刚刚读过,每个对象的所有属性和方法都列在开发者框的“对象浏览器”中。
我被提示看这个的原因是我使用了一个没有在对象浏览器中列出的方法。 我用了:
Sheets("Front face").Shapes("Drop Down 12").ControlFormat
这允许我然后使用.List来改变形状。 但是.ControlFormat不是在对象浏览器中列出的属性/方法。
任何人都可以解释吗?
它出现在我的 – 也许你正在寻找“形状”这是一个集合,而不是“形状”这是实际的对象?
详情:
Shapes
是Shape
对象的集合 – 因此Shapes
具有与Collection
对象相关的属性和方法。 该集合中的每个项目都是一个Shape
对象,它具有Shape
的属性和方法
除了MacroMan解释的,你应该总是遵循这个习惯(作为一种习惯)
使用智能感知对象正常工作 。
看到这个例子
Sub Sample() Dim ws As Worksheet Dim Shp As Shape Set ws = Sheets("Front face") Set Shp = ws.Shapes("Drop Down 12") End Sub
现在,如果你做Shp.
您将获得.ControlFormat
属性。
另一个例子
当你想访问工作表的.Range
,如果你键入Activesheet.
,你将不会得到Activesheet.
。 对于智能感知,再次与物体一起工作。