Heim  >  Artikel  >  Web-Frontend  >  Zwei Möglichkeiten, Javascript in VBA auszuführen

Zwei Möglichkeiten, Javascript in VBA auszuführen

PHPz
PHPzOriginal
2023-04-24 10:49:462071Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn