从Module访问ActiveX控件

时间:2014-11-19 11:17:06

标签: excel-vba vba excel

我想我在这里遇到了我的基本错误,有人可以纠正我吗?

我在" home"中有一个ActiveX控件。工作表。现在,当我编码时,

这有效:

MsgBox (ThisWorkbook.Worksheets("home").quantity.Value)

这样做:

With ThisWorkbook.Worksheets("home")
    MsgBox (.quantity.Value)
End With

但这不是:

Dim wh As Worksheet
Set wh = ThisWorkbook.Worksheets("home")
MsgBox (wh.quantity.Value)

有人可以解释一下这个区别吗?

1 个答案:

答案 0 :(得分:0)

Worksheet类没有quantity成员,因此编译器将对其进行反对。您需要使用Object变量(与前两个示例中一样),或使用工作表的OLEobjects属性访问控件:

MsgBox wh.OLEObjects("quantity").Object.Value

例如。