[英]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.