Maison  >  Article  >  interface Web  >  Deux façons d'exécuter javascript dans vba

Deux façons d'exécuter javascript dans vba

PHPz
PHPzoriginal
2023-04-24 10:49:461964parcourir

VBA est un langage de programmation très populaire principalement utilisé pour la mise en œuvre de fonctions et de tâches d'automatisation dans Microsoft Office. JavaScript est un langage de script très flexible qui est souvent utilisé dans le développement Web front-end. Dans certains scénarios, nous devons appeler JavaScript dans VBA. Cet article présentera deux méthodes d'exécution de JavaScript dans VBA.

Méthode 1 : Contrôle WebBrowser

Le contrôle WebBrowser est un contrôle utilisé en VBA pour afficher du contenu Web. Il peut ouvrir une URL spécifiée, obtenir du contenu Web, etc. En plus de cela, il peut également exécuter du code JavaScript. Voici un exemple de code :

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

Dans cet exemple de code, nous ouvrons la page de recherche Baidu en créant un objet InternetExplorer.Application, et une fois la page chargée, utilisons Document.parentWindow .execScript La méthode exécute une instruction JavaScript et modifie le titre de la page Web en « VBA appelle JavaScript ».

Il est à noter que lorsque vous utilisez le contrôle WebBrowser pour appeler JavaScript, vous devez attendre que la page soit chargée, sinon le JavaScript risque de ne pas être exécuté.

Méthode 2 : instance IE

En plus du contrôle WebBrowser, nous pouvons également appeler JavaScript en créant une instance IE. Voici un exemple de code :

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

Dans cet exemple de code, nous créons d'abord une instance IE et ouvrons la page de recherche Baidu. Ensuite, l'objet de page est obtenu via oIE.document et une instruction JavaScript est exécutée via la méthode Document.parentWindow.execScript pour changer le titre de la page Web en « VBA appelle JavaScript ».

Il convient de noter que lors de l'appel de JavaScript à l'aide d'une instance IE, vous devez également attendre que la page soit chargée avant d'exécuter JavaScript.

Conclusion

Voici les deux méthodes d'exécution de JavaScript dans VBA, à l'aide du contrôle WebBrowser et de l'instance IE. Les deux méthodes peuvent implémenter la fonction d'appel de JavaScript dans VBA, mais vous devez faire attention au point clé de l'achèvement du chargement de la page. J'espère que cet article pourra vous aider à résoudre le problème de l'utilisation de JavaScript dans VBA.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn