Prikazi cijelu temu 12.04.2022 09:51
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Lokacija:zagreb


Predmet:Re:VBA scraping
Citiraj pmiroslav:
Dobar dan.
Isprobavam ovo i funkcija radi kada ju pokrenem u VBA editoru. Za Access znam ali mi nije potpuno jasno kako se funkcija poziva kada se otvoru Excel sheet?

ja sam to napravio ovako:
u module1 dodao sam jos ovo:

Sub proba()
Call test
End Sub

zatim sam na List1 stavio tipku na ovaj nacin:


cijeli kod. Nakon sto se pokaze vic ako pritisnemo OK, pokaze sljedeci vic a ako kliknemo na cancel vrati nas na List1 tj, izade iz funkcije

PreuzmiIzvorni kôd (Visual Basic):
  1. Sub proba()
  2.         Call test
  3.     End Sub
  4.     Function test()
  5.         Dim odgovor
  6. the_start:
  7.        
  8.         Set objIE = CreateObject("InternetExplorer.Application")
  9.         objIE.Top = 0
  10.         objIE.Left = 0
  11.         objIE.Width = 800
  12.         objIE.Height = 600
  13.         objIE.Visible = False 'We will see the window navigation
  14.        
  15.         On Error Resume Next
  16.         objIE.Navigate ("https://icentar.ba/icentar/showtopic.php?id=22")
  17.        
  18.         Do
  19.         DoEvents
  20.             If Err.Number <> 0 Then
  21.                 objIE.Quit
  22.                 Set objIE = Nothing
  23.                 GoTo the_start:
  24.             End If
  25.         Loop Until objIE.ReadyState = 4
  26.        
  27.        
  28.         Dim AllString As String
  29.        
  30.         Set Alllinks = objIE.Document.getElementsByTagName("div")
  31.         For Each Hyperlink In Alllinks
  32.            ime = Hyperlink.className
  33.             If ime = "bbody iefix_left" Then
  34.                 AllString = Hyperlink.innerText
  35.                  
  36.                 odgovor = MsgBox(AllString, vbOKCancel)
  37.                 If odgovor = vbCancel Then Exit Function
  38.                
  39.             End If
  40.         Next
  41.        
  42.     Set objIE = Nothing
  43.     End Function

za svaku web stranicu drugacije treba prilagoditi kod jer ne sadrze sve tekst vica izmedu div, neke imaju u <a> ili <p>
Tako da ne postoji univerzalni kod za skidanje sadrzaja web stranice vec ga moramo rucno prilagoditi.
Treba sa firefox otvoriti web lokaciju a zatim izabrati u meniju firefoksa-vise alata-pokazi izvornu web stranicu i onda prouciti gdje se nalazi tekst koji zelimo skinuti i prilagoditi kod
zivot je moja domovina.
Ovaj post je ureden 1 puta. Posljednja izmjena 12.04.2022 09:53 od strane Avko.