Jak pobrać zawartość strony internetowej do arkusza

W jednym z projektów musiałem pobrać zawartość strony internetowej do arkusza. Niestety nie mogłem użyć wbudowanych narzędzi Excela z racji skomplikowania strony.

Poniżej prezentuję uproszczoną zawartość HTML strony. Moim zadaniem było pobranie każdego paragrafu <p> klasy <div class=”SomeClassNameChild”>, ale klasa <div class=”NextClassChildName”> która jest dzieckiem <div class=”SomeClassNameChild”> musiała znajdować się drugiej kolumnie arkusza.

Inne klasy miały być pominięte.

Przykładowy HTML:

Kod w VBA wygląda następująco:

Ciekawymi elementami są:

Wyodrębnienie pojedyńczych linii HTML z całości stringa:

Obliczenie ilości wierszy w HTML stringu:

Sprawdzenie czy komórka jest pusta pomimo pobrania wartości <p>&nbsp;</p>, gdzie o ile dobrze pamiętam samo LEN zwracało liczbę 2:

Warto tez zwrócić uwagę, że do pobrania zawartości używam dwóch właściwości:
innerText: do pobrania samego tekstu np. z tagu <p>,
innerHTML: do poruszania się po HTMLu (pętla) i odszukania interesujących elementów.

Podsumowanie: Powyższy kod VBA Excel umieszczony w poście pod tytułem "Jak pobrać zawartość strony internetowej do arkusza" zamieszczony na witrynie "exceldb.net" mógł zostać w całości pobrany z innej strony. Moim zamiarem nie jest kopiowanie czyiś rozwiązań tj. kodu VBA (dlatego zawsze staram się podać źródło kodu Excel VBA), a jedynie stworzenia miejsca skąd będę mógł pobrać działający już kod Excel VBA. Ten post pod tytułem "Jak pobrać zawartość strony internetowej do arkusza" zawiera kod VBA Excel, który kiedyś wykorzystałem - niniejszym archiwizuje go z myślą o przyszłych aplikacjach Excel VBA wykorzystujących "Jak pobrać zawartość strony internetowej do arkusza". Jeżeli osoby trzecie będą mogły skorzystać z tego kodu VBA "Jak pobrać zawartość strony internetowej do arkusza" będzie mi niezmiernie miło. Niech ta witryna "exceldb.net" będzie swego rodzaju wyminą informacji pomiędzy ludźmi programującymi w Excel VBA.
Link: http://exceldb.net/blog/2020/10/17/jak-pobrac-zawartosc-strony-internetowej-do-arkusza/