Я пытаюсь использовать Excel VBA для экспорта данных из электронной таблицы в онлайн-форму aspx и отправки ее.

Пример: у меня есть таблица со столбцом А под названием "ИМЯ". Строки заполняются соответствующими данными. Также у меня есть URL, который приводит к веб-форме asp.net. В веб-форме есть поле для "Вашего имени". Я хотел бы запустить макрос, который будет:

  1. запустить Internet Explorer
  2. перейдите к URL-адресу веб-формы asp
  3. заполните поля веб-формы соответствующими данными из строки 2 электронной таблицы Excel
  4. нажмите кнопку отправки
  5. повторять до тех пор, пока все строки не будут представлены

Таблица Excel:

превосходить

Ссылка на веб-форму

Я сталкивался с учебными пособиями о том, как сделать это для HTML, но ни один на веб-формах asp, и, очевидно, другие ранее обращались за помощью по этой же теме: Ссылка.

Вот код, который я до сих пор собирал вместе, и ошибка, которую я получаю. Любой совет будет принята с благодарностью. Также я чувствую, что необходимо заявить, что я очень новичок, поэтому, пожалуйста, ознакомьтесь с условиями непрофессионала.

Ошибка VBA

1 ответ1

0

Ваша проблема в том, что для выполнения ваших задач существует iframe:

IFrame:

IFrame

Ваш код должен перемещаться по этому, например:

Option Explicit
Public Sub SubmitInfo()
    Dim IE As New InternetExplorer
    With IE
        .Visible = True
        .navigate "https://www.w3schools.com/asp/showasphtmfile.asp?filename=demo_reqquery"

        While .Busy Or .readyState < 4: DoEvents: Wend
        With .document.getElementsByTagName("iframe")(0).contentDocument
            .querySelector("input[type=text]").Value = "blah"
            .querySelector("input[type=submit]").Click
        End With
        '.Quit '<== Remember to quit application
    End With
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .