Как получить переменную JavaScript с VBA - PullRequest
0 голосов
/ 19 марта 2020

В настоящее время я работаю над проектом VBA, который выполняет серию команд JavaScipt с объектом IE и должен получить переменную, объявленную с помощью указанных команд. Сценарии работают нормально, но я не знаю, как получить эту переменную. Вот мой код:

Sub test(URL As String)
 Dim i As Long
    Dim URLs As String
    Dim IE As Object
    Dim objElement As Object
    Dim objCollection As Object
    Dim aux As String

    'Create InternetExplorer Object
    Set IE = CreateObject("InternetExplorer.Application")

    'Set IE.Visible = True to make IE visible, or False for IE to run in the background
    IE.Visible = True

    'Define URL
    URLs = "https://confidential.com"

    'Navigate to URL
    IE.Navigate URLs

    ' Statusbar let's user know website is loading
    Application.StatusBar = URLs & " is loading. Please wait..."

    ' Wait while IE loading...
    'IE ReadyState = 4 signifies the webpage has loaded (the first loop is set to avoid inadvertently skipping over the second loop)
    Do While IE.ReadyState = 4: DoEvents: Loop   'Do While
    Do Until IE.ReadyState = 4: DoEvents: Loop   'Do Until
    Call IE.document.parentWindow.execScript("var request = new XMLHttpRequest()")
    Call IE.document.parentWindow.execScript("request.open('GET','" & URL & "', true);")
    Call IE.document.parentWindow.execScript("request.send();")
    Call IE.document.parentWindow.execScript("var jsvar = request.response")
    aux = IE.document.Script.jsvar

    'Webpage Loaded
    Application.StatusBar = URLs & " Loaded"

    'Unload IE
    Set IE = Nothing
    Set objElement = Nothing
    Set objCollection = Nothing

End Sub

Часть .Script.jsvar, которую я получил из другого поста в SO, но она, похоже, не работает, так как я получаю ошибку «Неверный тип объекта».

Я также открыт для идеи использовать другой подход к получению необходимой мне информации.

...