ホームページ > 記事 > ウェブフロントエンド > VBA で JavaScript を実行する 2 つの方法
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 サイトの他の関連記事を参照してください。