2012-09-25 48 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,然后再回到浏览器?或者我只是打电话浏览器不管? –