You are here:Home-Domande su Excel VBA e MACRO-Estrarre una tabella specifica da pagina web
Estrarre una tabella specifica da pagina web2018-01-20T19:54:08+01:00

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

Visualizzazione 1 filone di risposte
  • Autore
    Post
    • AvatarDenilson
      Partecipante
        Post totali: 2

        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 topic è stato modificato 2 anni, 5 mesi fa da sidsid.
        • Questo topic è stato modificato 2 anni, 5 mesi fa da sidsid.
      • BySalvBySalv
        Amministratore del forum
          Post totali: 728

          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:

           

           

           

          Ciao By Sal (8-)
          se ti piace la soluzione aiuta a sostenere il Forum con una DONAZIONE a piacere, Grazie

      Visualizzazione 1 filone di risposte
      • Devi essere connesso per rispondere a questo topic.