Condividi:        

excel 2007:importare dati da sito

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

excel 2007:importare dati da sito

Postdi karug64 » 09/12/15 19:33

Salve a tutti.
Registro le mie uscite in bici sul sito del produttore del mio ciclo computer.
Da lì posso visualizzare tutta una serie di statistiche sul giro stesso.

http://s11.postimg.org/fx4n3t7lf/Cattura1.png

E' possibile importare in un foglio excel in modo automatico i dati presenti nella parte destra dello schermo che sono sempre nella stessa posizione ?

Grazie
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Sponsor
 

Re: excel 2007:importare dati da sito

Postdi Anthony47 » 10/12/15 00:05

Prova con:
Codice: Seleziona tutto
Sub GetTabKR()
'by Anthony47
'
Sheets("Foglio5").Select        '<<< Il tuo foglio preferito
'
myurl = "http://www.brytonsport.com/maptrackview/2?id=8323721"  '<<< Url della pagina
'
Set IE = CreateObject("InternetExplorer.Application")
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
Range("A:C").ClearContents
'
Set mycoll = IE.document.getElementById("meter_items").getElementsByTagName("Div")
'
For Each mydiv In mycoll
    If mydiv.classname = "item_title" Then Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = mydiv.innertext
    If mydiv.classname = "item_value" Then Cells(Rows.Count, 2).End(xlUp).Offset(1, 0) = mydiv.innertext
Next mydiv

Stop     'Vedi testo

IEQuit:
'Chiusura IE
IE.Quit
Set IE = Nothing
End Sub

La macro lavora sul codice html "odierno" della pagina.
Le righe marcate <<< vanno personalizzate; nota che le colonne A-B-C del foglio che selezioni saranno AZZERATE SENZA PREAVVISO prima di importare la tabella
Dopo l'importazione la macro si ferma sullo Stop per consentire di controllare se l'importazione e' corretta; devi poi premere F5 dalla finestra del vba per completare la macro, che chiudera' la sessione InternetExplorer creata allo scopo.
Qando sei convinto del risultato potrai eliminare lo Stop e la macro aprira' automaticamente una (nuova) sessione IE, importera' i dati e la chiudera'.

Non garantisco che dopodomani sara' ancora funzionante, dipende da quando il gestore del sito avra' voglia di cambiare il sorgente delle pagine.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: excel 2007:importare dati da sito

Postdi karug64 » 10/12/15 19:21

Non garantisco che dopodomani sara' ancora funzionante, dipende da quando il gestore del sito avra' voglia di cambiare il sorgente delle pagine.


Per il momento funziona perfettamente !!

L'unico problema è che visualizzando un altro percorso, l'indirizzo della pagina cambia.
In effetti cambia l'ID (per esempio id=8335229)

C'e' un modo per "prelevare" l'indirizzo presente sulla barra degli indirizzi e caricare la pagina visualizzata (a cui mi sono loggato prima di lanciare la macro) ?

Grazie
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22


Torna a Applicazioni Office Windows


Topic correlati a "excel 2007:importare dati da sito":


Chi c’è in linea

Visitano il forum: Nessuno e 18 ospiti