Откройте несколько URL-адресов в браузере Chrome - PullRequest
1 голос
/ 05 марта 2020

Я хотел бы настроить свой макрос с возможностью открытия нескольких веб-сайтов в браузере Google Chrome.

Совет, который я нашел, пришел по следующим ссылкам:

Разбор веб-страницы через VBA с Chrome и https://www.reddit.com/r/excel/comments/48yikv/using_vba_to_launch_chrome_and_log_in/

Я также нашел здесь какое-то решение:

https://www.devhut.net/2018/02/01/vba-open-a-url-in-firefox-chrome/

, но это в основном относится к выбору вариантов между несколькими браузерами, которые мне не нужны.

Мой код до сих пор выглядит так:

 Sub Websites()
 Dim Chrome As Object
 Dim url1, url2, url3, url4, url5 As String
 Dim postcode1, postcode2, postcode3 As String

 postcode1 = Sheets("Frontsheet").Range("AA2").Value
 postcode2 = Sheets("Frontsheet").Range("AA3").Value

 Dim Location

 url1 = "https://www.google.com/maps/place/+" & postcode1 & "+" & postcode2
 url2 = "https://www.openreach.co.uk/ormaps/pia/v2/"
 url3 = "https://historicengland.org.uk/listing/the-list/map-search?postcode=" & postcode1
 url4 = "https://www.nhs.uk/service-search/other-services/UrgentCare/UrgentCareFinder? 
Location.Id=0&Location.Name=" & postcode1
 url5 = "https://www.mapping.cityoflondon.gov.uk/geocortex/mapping/?viewer=compass&runworkflowbyid=Switch_layer_themes&LayerTheme=Show%20the%20Explore%20The%20City%20layers"

 Set Chrome = "C:\Program Files (x86)\Google\Chrome\Application\Chrome.exe -url"

 With Chrome
    .Visible = True
    .Navigate url1
    .Navigate url2, CLng(2048)
    .Navigate url3, CLng(2048)
    .Navigate url4, CLng(2048)
    .Navigate url5, CLng(2048)
    .Top = 5
    .Left = 5
    .Height = 1300
    .Width = 1900

  End Sub

К сожалению, я получаю сообщение об ошибке:

Несоответствие типов

, которое относится к следующей строке кода:

   Set Chrome = "C:\Program Files (x86)\Google\Chrome\Application\Chrome.exe -url"

Появляется, даже когда я сними оператор -url.

Я пробовал также что-то вроде этого:

 Set Chrome = "C:\Program Files (x86)\Google\Chrome\Application\Chrome.exe" & URL

Но теперь ошибка выглядит справедливо:

Переменная не определена

потому что я устанавливаю переменные url1-url4

Как тогда я могу их все проанализировать?

1 Ответ

2 голосов
/ 05 марта 2020

Как указывает BigBen со ссылкой, Chrome не может использоваться в объектном смысле так же, как IE. Но вы можете запросить у него открытые URL-адреса примерно так:

Sub Test

 Dim postcode1 as String, postcode2 As String
 Dim url1 As String, url2 As String, url3 As String, url4 As String, url5 As String

 postcode1 = Sheets("Frontsheet").Range("AA2").Value
 postcode2 = Sheets("Frontsheet").Range("AA3").Value

 url1 = "https://www.google.com/maps/place/+" & postcode1 & "+" & postcode2
 url2 = "https://www.openreach.co.uk/ormaps/pia/v2/"
 url3 = "https://historicengland.org.uk/listing/the-list/map-search?postcode=" & postcode1
 url4 = "https://www.nhs.uk/service-search/other-services/UrgentCare/UrgentCareFinder?Location.Id=0&Location.Name=" & postcode1
 url5 = "https://www.mapping.cityoflondon.gov.uk/geocortex/mapping/?viewer=compass&runworkflowbyid=Switch_layer_themes&LayerTheme=Show%20the%20Explore%20The%20City%20layers"

 OpenChrome url1
 OpenChrome url2
 OpenChrome url3
 OpenChrome url4
 OpenChrome url5

End Sub

Sub OpenChrome(url As String)
    Dim chrome As String
    chrome = "C:\Program Files (x86)\Google\Chrome\Application\Chrome.exe -url"
    Shell (chrome & " " & url)
End Sub

PS. Вам нужно Dim каждый тип, например String et c. раздельно. Вы не можете перечислить их все, а затем определить тип.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...