VBA ist eine sehr beliebte Programmiersprache, die hauptsächlich zur Implementierung von Automatisierungsfunktionen und -aufgaben in Microsoft Office verwendet wird. JavaScript ist eine sehr flexible Skriptsprache, die häufig in der Front-End-Webentwicklung verwendet wird. In einigen Szenarien müssen wir JavaScript in VBA aufrufen. In diesem Artikel werden zwei Methoden zum Ausführen von JavaScript in VBA vorgestellt.
Methode 1: WebBrowser-Steuerelement
Das WebBrowser-Steuerelement ist ein Steuerelement, das in VBA zum Anzeigen von Webinhalten verwendet wird. Es kann eine bestimmte URL öffnen, Webinhalte abrufen usw. Darüber hinaus kann es auch JavaScript-Code ausführen. Das Folgende ist ein Beispielcode:
Sub RunJavaScriptWithWebBrowser()
Dim oBrowser As Object Set oBrowser = CreateObject("InternetExplorer.Application") '打开网页 oBrowser.Visible = True oBrowser.Navigate "https://www.baidu.com/" '等待页面加载完成 Do While oBrowser.ReadyState <> 4 DoEvents Loop '执行 JavaScript oBrowser.Document.parentWindow.execScript "document.title='VBA 调用 JavaScript'", "JavaScript" '关闭浏览器 oBrowser.Quit Set oBrowser = Nothing
End Sub
In diesem Beispielcode öffnen wir die Baidu-Suchseite, indem wir ein InternetExplorer.Application-Objekt erstellen, und nachdem die Seite geladen ist, verwenden wir Document.parentWindow .execScript Die Methode führt eine JavaScript-Anweisung aus und ändert den Titel der Webseite in „VBA ruft JavaScript auf“.
Es ist zu beachten, dass Sie bei Verwendung des WebBrowser-Steuerelements zum Aufrufen von JavaScript warten müssen, bis die Seite geladen ist, da sonst das JavaScript möglicherweise nicht ausgeführt wird.
Methode 2: IE-Instanz
Zusätzlich zum WebBrowser-Steuerelement können wir auch JavaScript aufrufen, indem wir eine IE-Instanz erstellen. Das Folgende ist ein Beispielcode:
Sub RunJavaScriptWithIE()
Dim oIE As Object Set oIE = CreateObject("InternetExplorer.Application") '打开网页 oIE.Visible = True oIE.Navigate "https://www.baidu.com/" '等待页面加载完成 Do While oIE.ReadyState <> 4 DoEvents Loop '获取页面对象 Dim oDoc As Object Set oDoc = oIE.document '执行 JavaScript oDoc.parentWindow.execScript "document.title='VBA 调用 JavaScript'", "JavaScript" '关闭浏览器 oIE.Quit Set oIE = Nothing
End Sub
In diesem Beispielcode erstellen wir zunächst eine IE-Instanz und öffnen die Baidu-Suchseite. Anschließend wird das Seitenobjekt über oIE.document abgerufen und über die Methode Document.parentWindow.execScript eine JavaScript-Anweisung ausgeführt, um den Titel der Webseite in „VBA ruft JavaScript auf“ zu ändern.
Es ist zu beachten, dass Sie beim Aufrufen von JavaScript über eine IE-Instanz auch warten müssen, bis die Seite geladen ist, bevor Sie JavaScript ausführen.
Fazit
Die oben genannten sind die beiden Methoden zum Ausführen von JavaScript in VBA unter Verwendung des WebBrowser-Steuerelements und der IE-Instanz. Beide Methoden können die Funktion zum Aufrufen von JavaScript in VBA implementieren, Sie müssen jedoch auf den entscheidenden Punkt des Abschlusses des Seitenladens achten. Ich hoffe, dieser Artikel kann Ihnen helfen, das Problem der Verwendung von JavaScript in VBA zu lösen.
Das obige ist der detaillierte Inhalt vonZwei Möglichkeiten, Javascript in VBA auszuführen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!