Vba 控制打开的浏览器实例
创建新的浏览器实例后,如何引用该实例,而不是关闭并重新打开,比如如果我激活Excel窗口,然后我想激活回浏览器,这是如何完成的 我调查Vba 控制打开的浏览器实例,vba,vbscript,Vba,Vbscript,创建新的浏览器实例后,如何引用该实例,而不是关闭并重新打开,比如如果我激活Excel窗口,然后我想激活回浏览器,这是如何完成的 我调查 Set Browser = New SHDocVw.InternetExplorer 但是如果我打开了不止一个窗口,那就不行了,我不认为我想你的意思是: AppActivate "Windows Internet Explorer" 换句话说,在模块级别声明浏览器变量,使其保持可用 您还可以捕获这样的实例: Option Explicit Public b
Set Browser = New SHDocVw.InternetExplorer
但是如果我打开了不止一个窗口,那就不行了,我不认为我想你的意思是:
AppActivate "Windows Internet Explorer"
换句话说,在模块级别声明浏览器变量,使其保持可用
您还可以捕获这样的实例:
Option Explicit
Public browser As SHDocVw.InternetExplorer
Sub NavigateTo()
Set browser = New SHDocVw.InternetExplorer
browser.Visible = True
browser.Navigate "http://stackoverflow.com"
End Sub
我当前的工作流程是:1)浏览器打开并进行身份验证2)自动从Excel中提取指定的数据变量3)浏览器关闭并返回Excel,但如果我希望它自动处理更多数据,而不是每次都进行身份验证,该怎么办?我只想激活浏览器并在它停止的地方使用它,我该怎么做?如果我提取一行数据并对其进行处理,我希望返回excel,让excel询问是否需要处理更多数据,然后使用仍然打开的当前实例进行处理。。希望我澄清一下,您可以使用上面的任何一个示例,但第一个示例可能最适合,即在模块级别声明变量。
工作簿(“test.xlsm”)。激活
浏览器。如果没有类似上面的示例,则激活
,以便返回excel,然后再次返回浏览器?或者我只是随便打电话给浏览器?为什么你需要返回Excel?代码是否未在Excel中运行?如果是,您还没有离开Excel。我从A列中选择一个数字,无论该数字是哪一行,将整行内容拉入变量,使用这些变量在webform上自动输入数据。然后我想回到excel,让它在关闭浏览器之前询问是否需要输入更多内容。否则,它每次都会登录,我不想每天登录100次。我想另一种方法是,通过身份验证循环,然后问我在飞行中需要什么号码。你的想法是什么?我的弱点在哪里?
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