You are here:--Estrarre una tabella specifica da pagina web
Estrarre una tabella specifica da pagina web 2018-01-20T19:54:08+00:00

Home Forum Domande su Excel VBA e MACRO Estrarre una tabella specifica da pagina web

  • Autore
    Articoli
  • Denilson
    Partecipante
      Post totali: 2
      #1424 |

      Buonasera a tutti. Avrei bisogno di un piccolo aiuto.

       

      Sub GetWebTab2()
      Dim IE As Object, F As Long
      Dim myRColl, myDColl, KK As Long, I As Long, J As Long, myColl, myR, myTD

      myURL = “https://www.diretta.it/partita/KM0uLUiT/#informazioni-partita”     ‘<<<<
      Set IE = CreateObject(“InternetExplorer.Application”)

      With IE
      .navigate myURL
      .Visible = False
      Do While .Busy: DoEvents: Loop              ‘Attesa not busy
      Do While .readyState <> 4: DoEvents: Loop   ‘Attesa documento
      End With

      myStart = Timer                                 ‘attesa addizionale
      Do
      DoEvents
      If Timer > myStart + 2 Or Timer < myStart Then Exit Do
      Loop

      ‘Leggi le tabelle su foglio5 (su un nuovo foglio)
      ‘Worksheets.Add                                              ‘<<<<<1  -Nuovo foglio
      Application.Goto (Sheets(“Foglio2”).Range(“A1”))            ‘<<<<<2  -Foglio esistente
      Cells.Clear
      Set myColl = IE.Document.getElementsbyTagName(“TABLE”)
      For Each myItm In myColl
      Cells(I + 1, “A”).Value = “TABELLA_” & KK: KK = KK + 1: I = I + 1
      For Each trtr In myItm.Rows
      For Each tdtd In trtr.Cells
      Cells(I + 1, J + 1) = tdtd.innertext
      J = J + 1
      Next tdtd
      I = I + 1: J = 0
      Next trtr
      I = I + 2
      Next myItm
      ‘Legge le tabelle dentro gli iframe:
      Set myColl = IE.Document.getElementsbyTagName(“iframe”)
      For F = 0 To myColl.Length – 1
      If Left(myColl(F).ID, 7) = “myframe” Then
      Set my2coll = myColl(F).contentDocument.getElementsbyTagName(“table”)
      For Each myItm In my2coll
      Cells(I + 1, “A”).Value = “TABELLA_” & KK: KK = KK + 1: I = I + 1
      Set myRColl = myItm.getElementsbyTagName(“tr”)
      For Each myR In myRColl
      Set myDColl = myR.getElementsbyTagName(“td”)
      For Each myTD In myDColl
      Cells(I + 1, J + 1) = myTD.innertext
      J = J + 1
      Next myTD
      I = I + 1: J = 0
      Next myR
      I = I + 2
      Next myItm
      End If
      Next F

      Cells.WrapText = False
      Range(“A1”).Select

      ‘Stop     ‘Vedi testo

      ‘Chiusura IE
      IE.Quit
      Set IE = Nothing
      End Sub

       

      Con questa query riesco ad estrarre le tabelle da una pagina web specifica, ma a e me interessa solo la tabella numero 3 (vedi immagine seguente)

       

      Come e dove devo modificare il codice?

      Inoltre qualore volessi estrarre tabelle da altre pagine uguali dove devo inserire l’url?

       

      Grazie e buona serata.

       

      • Questo argomento è stato modificato 10 mesi, 4 settimane fa da sid sid.
      • Questo argomento è stato modificato 10 mesi, 3 settimane fa da sid sid.
    • BySalvBySalv
      Amministratore del forum
        Post totali: 337

        Ciao Meglio se inserisci il file, vai in “Come fare”, ho caricato la tua macro in un file ma non mi da nessun risultato.

        Ciao By Sal  :bye:

         

         

         

      Devi essere loggato per rispondere a questa discussione.

      Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

      Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

      Chiudi