Передавая сертификат безопасности сайта предупреждению с помощью VBA - PullRequest
0 голосов
/ 31 мая 2018

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

Sub Certificate()
 Dim IE As Object
 Set IE = CreateObject("InternetExplorer.Application")

 With IE

.Visible = True
.navigate ("Website URL")

 While IE.ReadyState <> 4
 DoEvents
 Wend

 {Application.Wait (Now + TimeValue("0:00:05"))}--Optional

 'This is the security certificates webpage HTML
 'This clicks the not recommended but continue to website button
 IE.document.getElementsByName("overridelink").Item.Click

 End With

 End Sub

Сейчаскогда я выполняю этот код, эта строка:

IE.document.getElementsByName ("overridelink"). Item.Click

дает мне "ошибку времени выполнения" 91 ". См. этот код работает, когдавыскакивает предупреждение сертификата безопасности, однако оно не всегда всплывает и сразу переходит на веб-сайт, поэтому выдает мне эту ошибку.

Я действительно не знаю, что делать, я вошел в настройки Интернета и не проверялвсе, что может вызвать это предупреждение, а также добавление его на доверенный сайт, есть ли у кого-нибудь возможное решение, вся помощь приветствуется!

1 Ответ

0 голосов
/ 31 мая 2018

ВНИМАНИЕ!Используйте экономно!

Если only раз, когда вы получаете ошибку в строке IE.document.getElementsByName("overridelink").Item.Click, потому что она вам не нужна, вы можете использовать это:

On Error Resume Next
IE.document.getElementsByName("overridelink").Item.Click
On Error Goto 0

вместо:

IE.document.getElementsByName("overridelink").Item.Click

ВНИМАНИЕ!Прочитайте это:

Обязательно добавьте строку On Error Goto 0 непосредственно после раздела, в котором вы хотите игнорировать ошибку, поскольку эта строка сбрасывает поведение ошибки по умолчанию.В противном случае On Error Resume Next будет маскировать любые и все другие ошибки в коде, следующем за ним.Это может привести к ОГРОМНЫМ проблемам с кодом, дающим неожиданные результаты без видимой причины, и / или к попыткам устранения неполадок с проблемным кодом.

Другая проблема: если пропущенный при ошибке код в коде не работает по неожиданной причине, вы не будетеесть способ поймать это, если в вашем коде нет более сложного раздела по отлову ошибок.

...