连接边 / Chrome 到 VBA
Connecting Edge / Chrome to VBA
我在 VBA 中有一个代码,我一直用它来打开 Internet Explorer,复制特定网站上的信息,然后粘贴到单元格中。现在的问题是网站现在不能用IE了。
我正在尝试调整此代码以将其与 Edge 和/或 Chrome(我已经安装了 Selenium)一起使用,但实际上我正在为此苦苦挣扎。
有人可以帮我调整那个代码吗?
Option Explicit
Sub Test()
Dim IE As Object
On Error Resume Next
Application.DisplayAlerts = False
Sheets("Sheet3").Select
Range("A1:A1000") = "" ' erase previous data
Range("A1").Select
Set IE = CreateObject("InternetExplorer.Application")
With IE
.Visible = True
.Navigate "https://google.com" ' should work for any URL
Do Until .ReadyState = 4: DoEvents: Loop
End With
IE.ExecWB 17, 0 '// SelectAll
IE.ExecWB 12, 2 '// Copy selection
ActiveSheet.PasteSpecial Format:="Text", link:=False, DisplayAsIcon:=False
Range("A1").Select
IE.Quit
Application.DisplayAlerts = True
End Sub
如何将 IE 提及切换到 Edge 或 Chrome?比如把IE改成objEdge等。
您需要使用 SeleniumBasic 来自动化 VBA 中的 Edge。 SeleniumBasic 是一个基于 Selenium 的浏览器自动化框架,适用于 VB.Net、VBA 和 VBScript。
您可以按照以下步骤使用 SeleniumBasic 自动化 Edge 浏览器:
- 从this link下载最新版本的SeleniumBasic v2.0.9.0并安装。
- 从this link下载对应版本的Edge WebDriver。
- 找到SeleniumBasic的路径,我的情况是
C:\Users\%username%\AppData\Local\SeleniumBasic
(也可能是这个路径C:\Program Files\SeleniumBasic
),复制Edge WebDriver msedgedriver.exe
到这个路径。
- 将
msedgedriver.exe
重命名为 edgedriver.exe
。
- 打开Excel并准备编写VBA代码。
- 在VBA代码界面,点击Tools > References,添加Selenium Type Library reference,点击确定保存。
- 示例VBA代码(您可以根据需要更改它):
Public Sub Selenium()
Dim bot As New WebDriver
bot.Start "edge", "https://www.google.com"
bot.Get "/"
bot.Wait 5000
bot.Quit
End Sub
参考link:
我在 VBA 中有一个代码,我一直用它来打开 Internet Explorer,复制特定网站上的信息,然后粘贴到单元格中。现在的问题是网站现在不能用IE了。
我正在尝试调整此代码以将其与 Edge 和/或 Chrome(我已经安装了 Selenium)一起使用,但实际上我正在为此苦苦挣扎。
有人可以帮我调整那个代码吗?
Option Explicit
Sub Test()
Dim IE As Object
On Error Resume Next
Application.DisplayAlerts = False
Sheets("Sheet3").Select
Range("A1:A1000") = "" ' erase previous data
Range("A1").Select
Set IE = CreateObject("InternetExplorer.Application")
With IE
.Visible = True
.Navigate "https://google.com" ' should work for any URL
Do Until .ReadyState = 4: DoEvents: Loop
End With
IE.ExecWB 17, 0 '// SelectAll
IE.ExecWB 12, 2 '// Copy selection
ActiveSheet.PasteSpecial Format:="Text", link:=False, DisplayAsIcon:=False
Range("A1").Select
IE.Quit
Application.DisplayAlerts = True
End Sub
如何将 IE 提及切换到 Edge 或 Chrome?比如把IE改成objEdge等。
您需要使用 SeleniumBasic 来自动化 VBA 中的 Edge。 SeleniumBasic 是一个基于 Selenium 的浏览器自动化框架,适用于 VB.Net、VBA 和 VBScript。
您可以按照以下步骤使用 SeleniumBasic 自动化 Edge 浏览器:
- 从this link下载最新版本的SeleniumBasic v2.0.9.0并安装。
- 从this link下载对应版本的Edge WebDriver。
- 找到SeleniumBasic的路径,我的情况是
C:\Users\%username%\AppData\Local\SeleniumBasic
(也可能是这个路径C:\Program Files\SeleniumBasic
),复制Edge WebDrivermsedgedriver.exe
到这个路径。 - 将
msedgedriver.exe
重命名为edgedriver.exe
。 - 打开Excel并准备编写VBA代码。
- 在VBA代码界面,点击Tools > References,添加Selenium Type Library reference,点击确定保存。
- 示例VBA代码(您可以根据需要更改它):
Public Sub Selenium() Dim bot As New WebDriver bot.Start "edge", "https://www.google.com" bot.Get "/" bot.Wait 5000 bot.Quit End Sub
参考link: