2015-01-07 7 views
0

Я хочу нажать кнопку на веб-странице через VBA, используя Internet Explorer. Я делаю это для нескольких веб-страниц без проблем, но я не могу сделать это для определенного.Не могу нажать кнопку с VBA

HTML-код кнопки является

<button type="submit" name="submitImportFile" id="submitImportFile" class="btn btn-default pull-right" > 
<i class="process-icon-next"></i> 
<span>Pasul următor</span> 
</button> 

Как я могу нажать его с помощью VBA?

Я попытался

Set allhyperlinks = IE.Document.getelementsbytagname("button") 
     For Each hyper_link In allhyperlinks 
      If hyper_link.getattribute("name") = "submitImportFile" Then 
       hyper_link.Click 
       Exit For 
      End If 
     Next 

... и это не работает. Спасибо!

Я понял, что код работает очень хорошо при запуске с другого компьютера. Но когда я запускаю его с моего рабочего стола, я получаю сообщение об ошибке «Требуется объект» в строке

ie.Document.getElementById("import").Click 

Почему может быть не так? Я проверил репликации VBA, они одинаковы на обоих компьютерах.

ответ

0

Вам не нужен звонок .GetAttribute.

For Each hyper_link In allhyperlinks 
     If hyper_link.Name = "submitImportFile" Then 
      hyper_link.Click 
      Exit For 
     End If 
Next hyper_link 

Это должно быть достаточным для проверки .Name элемента. Помните, что VBA по умолчанию чувствителен к регистру. Есть ли причина, по которой вы не используете следующее?

IE.Document.getElementById("submitImportFile").Click

+0

Вчера ваше решение работало, сегодня он больше не работает. Я просто не понимаю. Нажата кнопка, но страница остается неизменной. Если я нажму кнопку с помощью мыши, то это сработает! – user3254924

+0

Я не могу сказать, почему кнопка не обрабатывает вызов, но кажется, что он щелкнул. Лично я избегаю метода '

Смежные вопросы