Страницы: 1
RSS
Работа с IE из VBA. При заполнении значений из макроса не активируется кнопка
 
Добрый день.
Прошу помочь с решением. Присваиваю значения инпут боксам таким кодом:
Скрытый текст


Поля заполняются, но кнопка "Сохранить" после выполнения продолжает оставаться неактивной...Активируется лишь при ручном вводе данных.
Возможно ли решить проблему?
 
 
solar25, а так не срабатывает?
Код
myInternetExplorer.Document.getElementsByTagName("button").Item(0).Click
или нулевой айтем это кнопка отмены?

Как вариант, использовать эмуляцию клавиш.
Либо смотреть post/get запросы.
 
нужно еще генерировать события для заполняемых полей, чтобы скрипт на странице активировал кнопку

после того, как задали значение элементу
Код
EL.Value = txt$

надо сделать что-то типа такого
Код
EL.raiseEvent "onclick"


а лучше так: (с использованием отдельной функции)
Код
' ...
set EL = myInternetExplorer.Document.getElementById("borrowerLastName")
EL.Value = "Иванов"
IE_RaiseEvents EL, "change,keydown"
' ...


Код
Sub IE_RaiseEvents(ByRef EL As Object, ByVal events$)
    On Error Resume Next
    ' здесь myInternetExplorer - ссылка на запущенный браузер
    Dim eventObj As Object, event_name
    events$ = Replace(events$, ";", ",")

    For Each event_name In Split(events$, ",")
        EL.raiseEvent "on" & event_name        ' for IE8

        Set eventObj = myInternetExplorer.document.createEvent("HTMLEvents")
        eventObj.initEvent event_name, True, False        ' for IE9 or newer
        EL.dispatchEvent eventObj
    Next
    Set eventObj = Nothing
End Sub
Изменено: Игорь - 03.10.2017 20:43:10
 
Цитата
Jungl написал:
или нулевой айтем это кнопка отмены?
да, именно так.
Там авторизация есть и много других форм...пост/гет не очень удобный вариант. Спасибо
 
Цитата
Игорь написал:
а лучше так: (с использованием отдельной функции)
Игорь, привет. Попробовал через функцию. Ошибка: ByRef argument type mismatch...
Для пробы оставил код такой же, как в Вы указали (функцию и основной код)...
 
Игорь,решил по-другому ) всем спасибо
 
Всем привет! Помогите нажать на кнопку "Обновить пользователь" при помощи Vba
Код
</li></ol></fieldset><fieldset class="actions"><ol><li class="action input_action " id="admin_user_submit_action"><input type="submit" name="commit" value="Обновить Пользователь" data-disable-with="Обновить Пользователь" /></li><li class="cancel"><a href="/admin/admin_users/135">Отмена</a></li></ol></fieldset></form>          </div>
Изменено: Sukhanov - 05.06.2020 23:08:14
 
Вопрос не по теме. Создайте отдельную тему
Страницы: 1
Наверх