Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

CARICARE DATI (NO TABELLE) DA WEB SU EXCEL

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

CARICARE DATI (NO TABELLE) DA WEB SU EXCEL

Postdi dave31 » 26/12/15 16:02

Ciao a tutti,
io sto cercando di caricare alcune pagine web su excel con il classico modo "carica dati esterni, da web, seleziona tabelle.."
Però nel mio caso nelle pagine web che mi servono non vengono evidenziate tabelle.
Per cui sono costretto a caricare tutta la pagina web, anche se mi servirebbe caricare e tenere aggiornata solo una riga di tutta la pagina web.
Ho provato a caricare tutta la pagina web e poi a cancellare o nascondere su excel le righe che non mi interessano, ma mi continua a caricare tutta la pagina web e non solo la riga che mi interessa.
Dato che ho più pagine web da tenere aggiornate su questo file excel e questo processo mi rallenta un pò il file, cè un modo per caricare e tenere aggiornate dal web solo una parte della pagina web che mi interessa con dei dati che però non sono tabelle?
grazie in anticipo
davide
dave31
Newbie
 
Post: 5
Iscritto il: 26/12/15 15:44

Sponsor
 

Re: CARICARE DATI (NO TABELLE) DA WEB SU EXCEL

Postdi karug64 » 26/12/15 20:54

Non so se la problematica è la stessa, ma Anthony ha risposto ad un mio post di pochi giorni fa.

viewtopic.php?f=26&t=105990

Puoi vedere se ti può essere di aiuto.

Ciao
Office 2010
karug64
Utente Senior
 
Post: 580
Iscritto il: 20/11/11 21:22

Re: CARICARE DATI (NO TABELLE) DA WEB SU EXCEL

Postdi Anthony47 » 27/12/15 12:56

Ciao dave31, benvenuto nel forum.
Per poter rispondere a ragion veduta al quesito bisognerebbe avere l'url da cui scaricare e il dettaglio di quale informazione si vorrebbe acquisire. Il codice suggerito a Karug contiene elementi specifici del "suo" url, sul tuo url non e' difficile scommettere che non importera' niente.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: CARICARE DATI (NO TABELLE) DA WEB SU EXCEL

Postdi dave31 » 27/12/15 18:31

Ciao Anthony,
sinceramente dall'altro esempio non c'ho capito tanto... che non sono tanto pratico.
Si tratta di questi siti:
https://www.isibet.it/virtual_games/virtualgames.html
http://www.sisal.it/virtual-race/archivio-gare
http://www.snai.it/scommesse/virtuali/
e in nessuno di questi riesco a caricare le tabelle su excel.
Ti allego un file excel dove ho fatto stampa schermo per farti vedere meglio che parti del sito mi servirebbero.
http://www.filedropper.com/prova_2
Il problema credo sarà nel fatto che per poter accedere a delle tabelle devo cliccare sui pulsanti che ci sono sui siti devo selezionare la tabella che voglio, ma vedo che l'indirizzo web rimane sempre lo stesso quando clicco e non cambia, comunque ho indicato tutto sul file.
Intanto ti ringrazio infinitamente in anticipo!
davide
dave31
Newbie
 
Post: 5
Iscritto il: 26/12/15 15:44

Re: CARICARE DATI (NO TABELLE) DA WEB SU EXCEL

Postdi Anthony47 » 28/12/15 03:36

Guarda quanto suggerito ad altro utente qui: viewtopic.php?f=26&t=105843#p619587

Fermo restando che con un po' di tempo e pazienza si potrebbe arrivare a interagire col sito per selezionare l'area che si vuole e importare solo quel che si desidera, ti propongo il codice e la procedura per importare tutte le tabelle presenti sulla pagina.
Inserisci in un Modulo standard del vba questo codice
Codice: Seleziona tutto
Sub GetTabbbSub(ByVal myURL As String)
'Va Chiamata passandogli l'URL da leggere
'myURL = "http://www.nhl.com/stats/team?reportType=game&report=teamsummary&season=20152016&gameType=2&aggregate=1&gameLocation=H"
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
Stop            '*** VEDI Testo
'
myStart = Timer  'attesa addizionale
Do
    DoEvents
    If Timer > myStart + 2 Or Timer < myStart Then Exit Do
Loop

'Leggi le tabelle SUL FOGLIO ATTIVO
''Sheets("Classifica Home").Select
''Cells.Clear
Set myColl = IE.document.getElementsByTagName("TABLE")
For Each myItm In myColl
    Cells(I + 1, 1) = "Table# " & ti + 1
    ti = ti + 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
DoEvents
    Next trtr

I = I + 1
Next myItm
'
'Chiusura IE
IE.Quit
Set IE = Nothing
End Sub

Successivamente scriverai, meglio se in un secondo Modulo standard del vba, tanti "richiami" per lavorare con la pagina prescelta; del tipo
Codice: Seleziona tutto
Sub call1()
    Sheets("Foglio1").Select       '<<< Il foglio su cui si fara' l'importazione
    Cells.ClearContents            'NB: Il fofglio SARA' AZZERATO senza preavviso
    Call GetTabbbSub("http://www.sisal.it/virtual-race/archivio-gare")
    Cells.WrapText = False
End Sub

Dovrai poi lanciare la "Sub Callx" che avvia l'importazione dal sito prescelto

La macro aprira' una sessione InternetExplorer e aprira' la pagina di partenza; quindi la macro si ferma sull'istruzione marcata ***. In questo modo l'utente potra' scegliere i dati di proprio interesse usando la navigazione sul I.E.; quando i dati desiderati sono pronti si torna sull'editor delle macro, che mostrera' l'istruzione "Stop" evidenziata, e si premera' F5 per completare l'importazione.

L'importazione delle tabelle sara' fatto sul foglio indicato nella Sub Callx (vedi riga marcata <<<), e tale foglio sara' azzerato senza preavviso prima di procedere; evita quindi di inserire formule sullo stesso foglio.

La procedura ti importera' tutte le tabelle presenti sul sito, marcandole in colonna A con l'intestazione "Table# x"

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: CARICARE DATI (NO TABELLE) DA WEB SU EXCEL

Postdi dave31 » 29/12/15 06:46

Ciao Anthony,
intanto grazie mille!
mi è stata molto utile la macro che mi hai scritto.
Ho avuto dei problemi con 2 siti, dovuti al fatto che internet explorer non me li fa visualizzare correttamente (con google chrome invece riesco a visualizzarli).
1)https://www.isibet.it/virtual_games/virtualgames.html (riesco ad entrare nel sito,ma non mi visualizza le tabelle e quando provo ad importarle su excel con la macro che mi hai dato non importa nessun dato)
2)https://www.lottomatica.it/scommesse/sport-virtuali/risultati (qui proprio non mi fa entrare su questo sito e di conseguenza non mi fa importare nessun dato)
Ho provato ad aggiornare internet explorer ma mi continua a dare questi errori (ti allego file).
http://www.filedropper.com/siticonerrori
Al posto di internet explorer posso impostare google chrome nella macro? se si, come va modificata la macro?
Oppure mi consigli un'altro modo?
grazie
davide
dave31
Newbie
 
Post: 5
Iscritto il: 26/12/15 15:44

Re: CARICARE DATI (NO TABELLE) DA WEB SU EXCEL

Postdi Anthony47 » 31/12/15 19:09

Il prodotto InternetExplorer della vituperata Microsoft e' integrabile negli applicativi Office; non mi risulti che Crome o altri Browser dispongano della libreria di integrazione (rilasciata dai loro sviluppatori); quindi quello che non e' possibile con IE io non so come si gestisce.
Comunque i siti con errore hanno modalita' di gestione degli output non basati su tabelle ma su strutture dati proprietarie; se mi avanza del tempo vedro' come personalizzare le macro (anche se l'argomento "scommesse sportive" non mi riscalda granche').

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: CARICARE DATI (NO TABELLE) DA WEB SU EXCEL

Postdi dave31 » 23/06/16 15:18

ciao a tutti,
sto cercando di utilizzare questa macro che mi avete consigliato nei post precedenti, per caricare tutte le tabelle da questo sito web:
https://www.snai.it/virtuali/risultati (il mio intento sarebbe quello di scaricare tutti risultati su excel per poi poterli analizzare).
Però con Internet Explorer non mi apre questo sito https://www.snai.it/virtuali/risultati e quindi non si attiva la macro.
Qualcuno può aiutarmi? cè un modo per visualizzare questo sito web con Internet Explorer e scaricare tutte le tabelle presenti? che non me ne intendo per niente.
mi saresti di grande aiuto!
grazie in anticipo
davide



Sub GetTabbbSub(ByVal myURL As String)
'Va Chiamata passandogli l'URL da leggere
'myURL = "http://www.nhl.com/stats/team?reportType=game&report=teamsummary&season=20152016&gameType=2&aggregate=1&gameLocation=H"
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
Stop '*** VEDI Testo
'
myStart = Timer 'attesa addizionale
Do
DoEvents
If Timer > myStart + 2 Or Timer < myStart Then Exit Do
Loop

'Leggi le tabelle SUL FOGLIO ATTIVO
''Sheets("Classifica Home").Select
''Cells.Clear
Set myColl = IE.document.getElementsByTagName("TABLE")
For Each myItm In myColl
Cells(I + 1, 1) = "Table# " & ti + 1
ti = ti + 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
DoEvents
Next trtr

I = I + 1
Next myItm
'
'Chiusura IE
IE.Quit
Set IE = Nothing
End Sub
dave31
Newbie
 
Post: 5
Iscritto il: 26/12/15 15:44

Re: CARICARE DATI (NO TABELLE) DA WEB SU EXCEL

Postdi Anthony47 » 28/06/16 01:53

Quella sezione del sito non contiene tabelle, salvo quando espandi un singolo evento. Probabilmente ti aspetti di trovare informazioni che invece non sono presenti.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: CARICARE DATI (NO TABELLE) DA WEB SU EXCEL

Postdi dave31 » 01/07/16 23:42

eventualmente non si potrebbe registrare una macro che espande e copia in automatico i dati di ogni singolo evento?
oppure qualcuno saprebbe consigliarmi un qualsiasi altro modo per copiare in automatico o quasi automatico tutti questi dati? anche utilizzando un altro programma che non sia office...
io ho provato ma non sono riuscito a trovare nessun altro modo....
il sito è questo:
https://www.snai.it/virtuali/risultati
se cè qualche consiglio è ben accetto! grazie mille
davide
dave31
Newbie
 
Post: 5
Iscritto il: 26/12/15 15:44

Re: CARICARE DATI (NO TABELLE) DA WEB SU EXCEL

Postdi Anthony47 » 06/07/16 01:35

Teoricamente e' possibile, ma il tempo necessario per esaminare la struttura del sorgente del sito non e' compatibile con lo scopo del forum.
Senza trascurare che questi sviluppi funzionano oggi (dopo che sono stati debuggati), ma nulla garantisce che domani, la prossima settimana, il prossimo mese il gestore non modifichi la struttura del sito vanificando tutto....

Sorry
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "CARICARE DATI (NO TABELLE) DA WEB SU EXCEL":


Chi c’è in linea

Visitano il forum: raimea e 23 ospiti