Condividi:        

Macro Problema Rilevare Dati Sito Web

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Macro Problema Rilevare Dati Sito Web

Postdi Francesco6918 » 16/08/23 18:49

Buonasera a tutti se potete aiutarmi o un problema nel rilevare le tabelle da questo sito web (https://tipsomatic.com/fixtures/italy/serie-a#r1) non riesce a importare nessun dato, non capisco il perche vi allego il file con macro.

Grazie

https://we.tl/t-5khfWLswve
Francesco6918
Utente Senior
 
Post: 267
Iscritto il: 04/03/11 11:20

Sponsor
 

Re: Macro Problema Rilevare Dati Sito Web

Postdi Anthony47 » 16/08/23 22:06

La macro contenuta nel file legge tutte le tabelle presenti nella pagina web (con qualche eccezione che probabilmente e’ residuo di utilizzo del codice in altre pagine); ma la pagina non contiene nessuna “Tabella html”.
Qualcosa puoi ottenere con questa variante, ma non so per quanto durera’:
Codice: Seleziona tutto
Sub Scarica_Risultati_E_QuoteBBB()
Dim myGG As Object, GG As Object, bItm As Object
Dim iCnt As Long, aClass
'
Application.CutCopyMode = False
'Application.ScreenUpdating = False
Worksheets("Dati").Activate

myurl = [A1].Value
Range("A2").Resize(1000, 8).ClearContents
Set ie = CreateObject("InternetExplorer.Application")
aClass = Array("gma", "gm")

With ie
    .navigate myurl
    .Visible = True
    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 + 1 Or Timer < myStart Then Exit Do
Loop

'Leggi le tabelle
Set mycoll = ie.document.getElementsByClassName("gml")
iCnt = 4                        '<<< Si comincia da riga 4+1
For Each myGG In mycoll
    iCnt = iCnt + 1
    For i = 0 To 1
        For Each GG In myGG.getElementsByClassName(aClass(i))
            iCnt = iCnt + 1: hcnt = 0
            For Each bItm In GG.getElementsByTagName("span")
                If bItm.className <> "od" Then
                    hcnt = hcnt + 1
                    Cells(iCnt, hcnt) = bItm.innerText
                End If
            Next bItm
        Next GG
        DoEvents
    Next i
Next myGG

'Chiusura IE
ie.Quit
Set ie = Nothing
Calculate
End Sub

Prova...
Avatar utente
Anthony47
Moderatore
 
Post: 19440
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro Problema Rilevare Dati Sito Web

Postdi Francesco6918 » 16/08/23 23:12

Ciao Anthony47 non funziona mi da errore di compilazione.
Francesco6918
Utente Senior
 
Post: 267
Iscritto il: 04/03/11 11:20

Re: Macro Problema Rilevare Dati Sito Web

Postdi Anthony47 » 17/08/23 08:57

Ci sono altri dettagli oltre a "sei sfortunato"? Tipo dettagli su cosa non e' stato gradito, istruzioni in colore strano? Hai inserito il codice in un "Modulo standard del vba" o (erroneamente) in un "modulo di classe" dei fogli o del workbook? (vedi viewtopic.php?f=26&t=103893&p=647675#p647675)
Nel modulo ci sono altre macro o dichiarazioni?
Avatar utente
Anthony47
Moderatore
 
Post: 19440
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro Problema Rilevare Dati Sito Web

Postdi Francesco6918 » 17/08/23 10:03

Grazie del consiglio.
Francesco6918
Utente Senior
 
Post: 267
Iscritto il: 04/03/11 11:20


Torna a Applicazioni Office Windows


Topic correlati a "Macro Problema Rilevare Dati Sito Web":


Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti