День добрый. Возможно ли экспортировать данные с таблицы в вебформу сайта. Более подробно: имеем таблицу (матрица 10х1500--10 столбцов х 1500 строк) каждая строчка это набор данных, в 10 ячейках, для втавки в вебформу на одной и той же странице в интернете (страница статична), вставляем и сохраняем, происходит обновление страницы и все по новому. Необходимо с каждого конткретного из 10 столбцов каждой отдельной строки вставить информацию в соответстующее поле вебформы. Цикл повторить 1500 раз для каждой следующей строчки таблицы. Вариант контрыл А + контрл С надоел, пробовал что то типа записи макросов движения мыши и клавиатуры: низкая скорость. Куда двигаться? Поиск через гугл: так в лоб сразу и не попал, но совершал несколько итераций.... , безрезультатно. Спасибо!
Добрый день. Может попробовать как то так? Примерный код с основными шагами, но он может не работать из-за того, что возможно требуется дополнительная настройка и адаптация к специфике вашего сайта и ваших данных.
Код
Sub WEBForm()
Dim objWinHttp As New WinHttpRequest
Dim objHTMLDoc As New HTMLDocument
Dim objElement As Object
'Загрузка страницы с формой
objWinHttp.Open "GET", "http://************/form", False
objWinHttp.Send
objHTMLDoc.body.innerHTML = objWinHttp.responseText
'Проход по каждой строке таблицы и заполнение формы
For i = 1 To 1500
' Получение данных из таблицы
name = Worksheets("Sheet1").Cells(i, 1).Value
email = Worksheets("Sheet1").Cells(i, 2).Value
phone = Worksheets("Sheet1").Cells(i, 3).Value
' Нахождение элементов формы и заполнение их
Set objElement = objHTMLDoc.getElementById("name")
objElement.Value = name
Set objElement = objHTMLDoc.getElementById("email")
objElement.Value = email
Set objElement = objHTMLDoc.getElementById("phone")
objElement.Value = phone
'3. Отправка формы
objWinHttp.Open "POST", "http://************/form", False
objWinHttp.Send objHTMLDoc.forms(0)
'4. Проверка ответа и обновление страницы
If objWinHttp.Status = 200 Then
' Код для обновления страницы
Else
' Код для обновления ошибки
End If
Next i
End Sub
В коде строка objHTMLDoc.body.innerHTML = objWinHttp.responseText используется для загрузки HTML кода страницы с формой, но в некоторых случаях может потребоваться использовать другой способ загрузки, например, использование библиотеки MSXML. Также, возможно стоит добавить паузы между отправкой форм, чтобы избежать бана с сайта или ошибок связанных с перегрузкой сервера.
Выложить пример таблицы с исходными данными, дать ссылку на страницу, куда подставлять данные. Не видя этой страницы сайта, ничего конкретного вам не посоветовать.