[英]What is the difference between Application.Windows() and Excel.Windows() in Excel VBA?
基本上,我什么时候应该使用 Application.Windows(),什么时候应该使用 Excel.Windows()? 任何代码示例都是特别可取的。
Excel
库具有名为Windows
和Application
类。 然后Excel.Windows
是类Windows
的完全限定名称。 类Application
具有名为Windows
属性,它返回所有工作簿中的窗口集合。
因此,当您要引用类Windows
时可以使用Excel.Windows
,而要引用 windows 对象时将使用Application.Windows
属性。 哈。
命名有问题。 类Windows
和属性Windows
的名称相同。 以下所有代码示例使用Windows
属性引用相同的窗口对象集合:
Dim eaw As Excel.Windows
Dim aw As Excel.Windows
Dim ew As Excel.Windows
Set eaw = Excel.Application.Windows
Set aw = Application.Windows
Set ew = Excel.Windows
代码Set aw = Application.Windows
和Set ew = Excel.Windows
是相同的,因为许多返回最常见对象的属性和方法可以在没有Application
对象限定符的情况下使用。 可以在没有 Application 对象限定符的情况下使用的属性和方法被认为是global
,对于Windows
也是如此。
总之:
在声明Excel.Windows
类型的变量时,使用完全限定名称(例如Dim wnds As Excel.Windows
。
当提到窗口对象的集合时,您选择哪种方式取决于您,以下所有内容都是等效的(返回相同的集合) Set eaw = Excel.Application.Windows
, Set aw = Application.Windows
, Set ew = Excel.Windows
. 注意:根据我的 Excel 2007 的对象浏览器,这个集合是read-only
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.