2012-09-25 60 views
1
Set Browser = New SHDocVw.InternetExplorer 

創建新的瀏覽器實例後,如何引用該實例而不是關閉並重新打開,如果我激活Excel窗口,那麼我想激活回到瀏覽器,這是如何完成的?控制打開的瀏覽器實例

我看着

AppActivate "Windows Internet Explorer" 

但是如果我有多個窗口打開,這不會工作的權利,我不認爲

回答

0

我想你的意思:

Option Explicit 
Public browser As SHDocVw.InternetExplorer 

Sub NavigateTo() 

    Set browser = New SHDocVw.InternetExplorer 

    browser.Visible = True 
    browser.Navigate "http://stackoverflow.com" 

End Sub 

在其他單詞,在模塊級聲明瀏覽器變量,以便它仍然可用。

您還可以捕獲一個實例,像這樣:

Sub getIE() 
Dim sh As Object, oWin As Object, IE As Object 

    Set sh = CreateObject("Shell.Application") 

    For Each oWin In sh.Windows 
     If TypeName(oWin.Document) = "HTMLDocument" Then 
      Set IE = oWin 
      Exit For 
     End If 
    Next 

    Debug.Print IE.Document.url 
End Sub 
+0

我現在的工作流程是:1)瀏覽器打開,並驗證2)自動提取指定的數據變量從Excel 3)瀏覽器會自行關閉並返回到Excel但如果我想讓它自動化更多的數據,而不是每次都進行身份驗證呢?我只想激活瀏覽器並從任何地方使用它,我該怎麼做? 如果我拉一行數據並處理它,我想回到excel,有excel詢問是否需要處理更多數據,然後使用該當前實例仍然保持打開狀態。希望我澄清一下 –

+0

您可以使用上述任何一個示例,但第一個可能最適合,即在模塊級聲明該變量。 – Fionnuala

+0

'Workbooks(「test.xlsm」)。Activate' 'browser.Activate' 應該沒有像上面的例子那樣的東西,爲了回到excel,然後再回到瀏覽器?或者我只是打電話瀏覽器不管? –