VBA는 주로 Microsoft Office에서 자동화 기능 및 작업을 구현하는 데 사용되는 매우 널리 사용되는 프로그래밍 언어입니다. JavaScript는 프런트 엔드 웹 개발에 자주 사용되는 매우 유연한 스크립팅 언어입니다. 일부 시나리오에서는 VBA에서 JavaScript를 호출해야 합니다. 이 기사에서는 VBA에서 JavaScript를 실행하는 두 가지 방법을 소개합니다.
방법 1: WebBrowser 컨트롤
WebBrowser 컨트롤은 VBA에서 웹 콘텐츠를 표시하는 데 사용되는 컨트롤로, 지정된 URL을 열고 웹 콘텐츠를 얻을 수 있습니다. 이 외에도 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 문을 실행하고 웹 페이지 제목을 "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 문을 실행하여 웹 페이지 제목을 "VBA가 JavaScript를 호출합니다"로 변경합니다.
IE 인스턴스를 사용하여 JavaScript를 호출하는 경우 JavaScript를 실행하기 전에 페이지가 로드될 때까지 기다려야 한다는 점에도 유의해야 합니다.
결론
위는 WebBrowser 컨트롤과 IE 인스턴스를 사용하여 VBA에서 JavaScript를 실행하는 두 가지 방법입니다. 두 방법 모두 VBA에서 JavaScript를 호출하는 기능을 구현할 수 있지만 페이지 로딩 완료의 핵심 포인트에 주의해야 합니다. 이 기사가 VBA에서 JavaScript를 사용할 때 발생하는 문제를 해결하는 데 도움이 되기를 바랍니다.
위 내용은 VBA에서 자바스크립트를 실행하는 두 가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!