可使用WScript.Shell 物件類別,也可以使用Seleniumbasic。
在網頁操作的使用上Seleniumbasic的操作性會來的多樣化,
Seleniumbasic在操作Edge及chrome皆能有不錯的效果。
如果想要操作IE,VBA必須引用以下兩個項目
1. Microsoft HTML Object Library
2. Microsoft Internet Controls
藉由WScript.Shell 開啟的網頁
也可以使用SendKeys來模擬鍵盤輸入,搜尋網頁。
但...其實沒有Seleniumbasic以及IE操作網頁來的方便。
操作網頁,還需要學習html與css的基礎,才會比較順手。
操作網頁,還需要學習html與css的基礎,才會比較順手。
以下就讓我們來試著在VBA中,試著開啟Chrome或Edge前往指定網址看看吧。
目錄
{tocify} $title={目錄}
說明
使用後期綁定開啟Chrome及指定網址。
透過CreateObject函數來實現。
步驟1. 建立 WScript.Shell 物件類別 , 並使用 Run 方法來呼叫執行檔
步驟2 : WshShell.Run (strCommand, [intWindowStype], [bWaitOnReturn])
關於CreateObject說明,可參考微軟網站
https://learn.microsoft.com/zh-tw/office/vba/language/reference/user-interface-help/createobject-function
CreateObject函數的使用方式
Point!
CreateObject(class, [ servername ])
組件 | 描述 |
---|---|
class | 需要此項目; 變體 (字串)。 應用程式名稱和要建立的物件類別。 |
servername |
選用; 變體 (字串)。 建立物件所在的網路伺服器名稱。 如果 servername 是空白字串 (""),則會使用本機電腦。 |
WshShell物件的Run方法
Point!
object.Run(command, [style], [wait])
組件 | 描述 |
---|---|
object | 指定WshShell的名稱 |
strCommand | 指定一個字串,指示要執行的命令列。 |
intWindowStype | 將程式視窗的外觀指定為整數值。(可選) |
bWaitOnReturn |
如果要等到程式執行結束,請指定 True。 如果為 False,則立即終止程式。 (可選) |
開啟Chrome
範例
Sub 打開Chrome前往指定網站()
'定義為自由型態變數Chrome
Dim Chrome As Variant
'使用CreateObject函數
Set Chrome = CreateObject("WScript.shell")
'使用Run方法執行,並同時指定要開啟的網址url
Chrome.Run ("chrome.exe -url https://tw.yahoo.com")
'釋放物件變數
Set Chrome = Nothing
End Sub
開啟Edge
範例
Sub 打開Edge前往指定網站()
'定義為自由型態變數 edge
Dim Edge As Variant
'使用CreateObject函數
Set Edge = CreateObject("WScript.shell")
' 使用Run方法執行 並同時指定要開啟的url
Edge.Run ("msedge.exe -url http://tw.yahoo.com")
' 釋放物件變數
Set Edge = Nothing
End Sub