ホームページ  >  記事  >  ウェブフロントエンド  >  VBA で JavaScript を実行する 2 つの方法

VBA で JavaScript を実行する 2 つの方法

PHPz
PHPzオリジナル
2023-04-24 10:49:462066ブラウズ

VBA は、主に Microsoft Office の自動化機能とタスクの実装に使用される非常に人気のあるプログラミング言語です。 JavaScript は、フロントエンド Web 開発でよく使用される、非常に柔軟なスクリプト言語です。シナリオによっては、VBA で JavaScript を呼び出す必要があります。この記事では、VBA で JavaScript を実行する 2 つの方法を紹介します。

方法 1: WebBrowser コントロール

WebBrowser コントロールは、VBA で Web コンテンツを表示するために使用されるコントロールで、指定した URL を開いたり、Web ページのコンテンツを取得したりすることができます。これに加えて、JavaScript コードを実行することもできます。以下はサンプル コードです:

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

このサンプル コードでは、InternetExplorer.Application オブジェクトを作成して Baidu 検索ページを開きます。ページが読み込まれた後、Document.parentWindow.execScript メソッドを通じて JavaScript ステートメントが実行され、Web ページのタイトルが「VBA は JavaScript を呼び出します」に変更されます。

WebBrowser コントロールを使用して JavaScript を呼び出す場合は、ページが読み込まれるまで待つ必要があります。そうしないと、JavaScript が実行されない可能性があります。

方法 2: IE インスタンス

WebBrowser コントロールに加えて、IE インスタンスを作成して JavaScript を呼び出すこともできます。以下はサンプル コードです。

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

このサンプル コードでは、まず IE インスタンスを作成し、Baidu 検索ページを開きます。次に、oIE.document を通じてページ オブジェクトが取得され、Document.parentWindow.execScript メソッドを通じて JavaScript ステートメントが実行され、Web ページのタイトルが「VBA は JavaScript を呼び出します」に変更されます。

IE インスタンスを使用して JavaScript を呼び出す場合、JavaScript を実行する前にページが読み込まれるまで待つ必要があることに注意してください。

結論

上記は、WebBrowser コントロールと IE インスタンスを使用して、VBA で JavaScript を実行する 2 つの方法です。どちらの方法も VBA で JavaScript を呼び出す機能を実装できますが、ページの読み込み完了というキーポイントに注意する必要があります。この記事が、VBA で JavaScript を使用する際の問題の解決に役立つことを願っています。

以上がVBA で JavaScript を実行する 2 つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。