Как использовать объект MSXML2.XMLHTTP вне VPN?

#excel #vba #msxml2

#excel #vba #msxml2

Вопрос:

Я закодировал эти несколько строк ниже. Код корректно работает, когда я подключаюсь через VPN, но больше не работает вне VPN. Возвращаемый код состояния равен 12007 при выходе из VPN и 200 при использовании VPN.

Например, вы можете использовать myUrl : «https://www.boursedirect.fr/fr/marche/euronext-paris/lyxor-ep-na-us-LU1832418856-MUA-EUR-XPAR/seance»

Есть ли у вас какие-либо идеи, как решить эту проблему?

 Public Function InterrogationCours(myUrl) As Double
  Dim avant as String, apres as String, cotation As String

  avant = "quotation-last bd-streaming-select-value-last"
  apres = "</span"

  On Error Resume Next
  With CreateObject("MSXML2.XMLHTTP")
    .Open "GET", myUrl, False
    .Send
    Debug.Print .Status
    If .Status = 200 Then cotation = Split(Split(Split(.responseText, avant)(1), ">")(1), apres)(0)
  End With
  InterrogationCours = Nettoyage(cotation)
End Function
  

Комментарии:

1. Измените Dim avant, apres, cotation As String на Dim avant As String, apres As String, cotation As String (в VBA вы должны объявлять каждый элемент. То, как вы его объявили, только cotation относится к типу данных String . Другие 2 имеют тип Variant ). Возможно, это поможет. Кроме того, что такое Nettoyage ?

2. @Zac, спасибо за ваши предложения. Однако они не решают мою проблему. Что касается «Nettoyage», то речь идет о функции, которая очищает символьную строку «cotation», чтобы сохранить только ту информацию, которая меня интересует.

3. Изменяет ли VPN вашу страну? И в вашей реальной стране запрещено просматривать страницу?

4. Ошибка 12007 указывает на проблемы с DNS. Веб-сайт, отображаемый в браузере? Пытался WinHttp.WinHttpRequest.5.1 вместо MSXML2.XMLHTTP