请考虑以下代码:
Public Sub VBACompilerIsMad()
Dim Ap As Application
Dim Wb As Workbook
Dim Ws As Worksheet
Debug.Print Ap.XXX ' No compile error
Debug.Print Wb.XXX ' No compile error
Debug.Print Ws.XXX ' Compile error
End Sub
Run Code Online (Sandbox Code Playgroud)
当我编译它时,我得到一个编译器错误,用于引用一个不存在的成员Worksheet
.但是,如果我注释掉最后一行,则没有编译器错误,即使它们既Application
没有Workbook
方法或属性也没有XXX
.这是因为如果我声明Ap
,并Wb
作为Object
变量.
为什么编译器处理Application
/ Workbook
不同Worksheet
?
有没有像这样的其他类,编译器似乎对待它们好像Object
?