[英]Obtain Internet Explorer Window properties (pageYOffset) in excel-VBA
[英]What is the data type of an internet explorer window in VBA?
我只是想知道我们如何从以下代码中声明“ ie”?
Dim objShell As Object
Set objShell = CreateObject("Shell.Application")
Set ie = objShell.Windows(x)
谢谢 :)
您可以只使用Object
但是如果启用Microsoft Internet Controls库,它会更容易,因为它会创建更多特定的对象。 这使您可以在编码时使用智能感知,从而使您不必再猜测可用的属性和动作。 启用后,下面是一些示例代码。
Dim ieobject As InternetExplorer
Set ieobject = New InternetExplorer
ieobject.Visible = True
ieobject.navigate Url:="https://www.StackOverFlow.com"
'get the HTML document for the page.
Dim ieDOCUMENT As HTMLDocument
Set ieDOCUMENT = ieobject.document
这个站点很好地介绍了它 (以及许多其他VBA主题)
如果收到错误“ 用户定义的类型未定义” ,则尚未启用Microsoft Internet Controls库。
在过程中放置一个断点(F9),然后在遇到断点时调出Locals工具窗口(查看/> Locals)。
运行时数据类型将出现在“类型”(Type)列1下 :
如果未引用定义这些类和接口的类型库,则声明站点使用的类型为Object
或Variant
因为没有对该库的编译时引用,所以编译器无法在编译时绑定类型-time,因此如果尝试以其他方式声明对象变量,则会出现编译错误。
通过引用适当的类型库 ,您仍然可以使用后期绑定并将所有内容都声明As Object
,但这对于在那里等待使用的库是很愚蠢的。
在您的特定示例(无论如何提供)中, ie
的类型为... Object
,引用为Nothing
,因此期望对ie
任何成员调用均引发错误91:
1除非涉及用户界面,否则这是VBE中的错误,不太可能看到修复程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.