Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[EXCEL 2010] Creare Query Web che accede a contenuto Flash

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 2010] Creare Query Web che accede a contenuto Flash

Postdi rosseaux » 06/03/17 12:55

Salve Ragazzi,

Ogni tanto mi trovo ad aver bisogno della vostra esperienza...

In oggetto non riuscivo a spiegarmi meglio ma ci proverò qua:

Tutto ciò che mi serve è un modo per riuscire a importare in excel una tabella che si aggiorna dinamicamente da un sito con conteuto Flash o php..

ad Esempio: http://www.betstudy.com/soccer-stats/c/italy/serie-a/

se Cliccate sul Link vedrete che in fondo c'è una classifica... ed è quella che mi serve importare in excel in modo tale da fare aggiornare i dati quando si aggiornano nel sito...

Ho provato facendo la procedura: DATI/DA WEB ... ma il quadratino giallo non compare proprio sulla tabella della classifica.. e se provo ad importare l'intero sito mi da un errore:

"Impossibile aprire http://www.betstudy.com/soccer-stats/c/italy/serie-a. Impossibile trovare l'elemento richiesto al sito internet. (HTTP/1.0 404)".

Quello che chiedo io è: è possibile riuscire a importare i dati di quella tabella in qualche modo ??

Grazie in Anticipo !! ;) ;)
rosseaux
Utente Senior
 
Post: 151
Iscritto il: 06/01/07 14:11
Località: Alfonsine (RA)

Sponsor
 

Re: [EXCEL 2010] Creare Query Web che accede a contenuto Fla

Postdi Anthony47 » 08/03/17 13:14

Prova a utilizzare la Sub GetWebTab descritta in questo post: viewtopic.php?p=582586
Modifica la riga myURL = "etc etc" con il tuo Url.

Il codice com'e' importa le tabelle sempre in un Nuovo foglio a ogni esecuzione della macro.
Se questo non ti va allora elimina nel codice la riga Worksheets.Add e togli l'apostrofo in testa alle due righe successive; modifica anche il nome foglio in cui leggere le tabelle:
Codice: Seleziona tutto
'Leggi le tabelle, su un nuovo foglio
Worksheets.Add
'Application.Goto (Sheets("Foglio1").Range("A1"))   '<<< Il foglio in cui leggere le tabelle
'Cells.Clear
Attenzione, che il foglio indicato VIENE AZZERATO SEMZA PREAVVISO all'avvio della macro.

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

Re: [EXCEL 2010] Creare Query Web che accede a contenuto Fla

Postdi rosseaux » 08/03/17 21:16

Anthony47 ha scritto:Prova a utilizzare la Sub GetWebTab descritta in questo post: viewtopic.php?p=582586
Modifica la riga myURL = "etc etc" con il tuo Url.

Il codice com'e' importa le tabelle sempre in un Nuovo foglio a ogni esecuzione della macro.
Se questo non ti va allora elimina nel codice la riga Worksheets.Add e togli l'apostrofo in testa alle due righe successive; modifica anche il nome foglio in cui leggere le tabelle:
Codice: Seleziona tutto
'Leggi le tabelle, su un nuovo foglio
Worksheets.Add
'Application.Goto (Sheets("Foglio1").Range("A1"))   '<<< Il foglio in cui leggere le tabelle
'Cells.Clear
Attenzione, che il foglio indicato VIENE AZZERATO SEMZA PREAVVISO all'avvio della macro.

Ciao


Ciao Anthony !! Ti Ringrazio Molto... la Macro importa Tutto quanto il Foglio... e già è qualcosa... me se io volessi importare solamente la tabella della classifica è possibile farlo ??
rosseaux
Utente Senior
 
Post: 151
Iscritto il: 06/01/07 14:11
Località: Alfonsine (RA)

Re: [EXCEL 2010] Creare Query Web che accede a contenuto Fla

Postdi Anthony47 » 09/03/17 15:13

Se vuoi importare una singola tabella allora invece di For Each myItm In myColl userai
Codice: Seleziona tutto
Set myItm = myColl(x)
Dove X e' il numero di tabella nel sorgente della tua pagina, dove la prima si chiama 0
Inoltre eliminerai Next myItm

Pero' doverebbe essere abbastanza semplice puntare alla tabella con semplici formule e l'ausilio di funzioni quali Indice /Confronta

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

Re: [EXCEL 2010] Creare Query Web che accede a contenuto Fla

Postdi rosseaux » 09/03/17 19:01

Anthony47 ha scritto:Se vuoi importare una singola tabella allora invece di For Each myItm In myColl userai
Codice: Seleziona tutto
Set myItm = myColl(x)
Dove X e' il numero di tabella nel sorgente della tua pagina, dove la prima si chiama 0
Inoltre eliminerai Next myItm

Pero' doverebbe essere abbastanza semplice puntare alla tabella con semplici formule e l'ausilio di funzioni quali Indice /Confronta

Ciao

Wow Fantastico Anthony !! L'Ho scritto così e mi importa solo la Classifica proprio come voglio io:

Codice: Seleziona tutto
Sub GetWebTab()
'
myURL = "http://www.betstudy.com/soccer-stats/c/italy/serie-a/"     '<<<<
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 + 2 Or Timer < myStart Then Exit Do
Loop

'Leggi le tabelle, su un nuovo foglio
Worksheets.Add
'Application.Goto (Sheets("Foglio1").Range("A1"))
'Cells.Clear
Set myColl = IE.document.getElementsByTagName("TABLE")
Set myItm = myColl(3)
    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 + 1
'Next myItm

Stop     'Vedi testo

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


Adesso ti chiedo un ultimo step ma ti dico che già sono contento così e te ne sono veramente Grato: c'è modo di importare anche la formattazione di origine ??
rosseaux
Utente Senior
 
Post: 151
Iscritto il: 06/01/07 14:11
Località: Alfonsine (RA)

Re: [EXCEL 2010] Creare Query Web che accede a contenuto Fla

Postdi Anthony47 » 10/03/17 01:40

c'è modo di importare anche la formattazione di origine ??
La riposta e' "praticamente no"; in questi casi infatti gli elementi di formattazione sono all'interno dei fogli di stile, la cui analisi dal vba e' alquanto lunga.

Ma se alludi alla colorazione a righe alterne allora se importi i tuoi dati in un'area che hai definito come "struttura tabella" avrai lo stesso effetto.

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

Re: [EXCEL 2010] Creare Query Web che accede a contenuto Fla

Postdi rosseaux » 10/03/17 12:55

Anthony47 ha scritto:
c'è modo di importare anche la formattazione di origine ??
La riposta e' "praticamente no"; in questi casi infatti gli elementi di formattazione sono all'interno dei fogli di stile, la cui analisi dal vba e' alquanto lunga.

Ma se alludi alla colorazione a righe alterne allora se importi i tuoi dati in un'area che hai definito come "struttura tabella" avrai lo stesso effetto.

Ciao

No... in realtà alludo alla formattazione tale e quale a quella che c'è nel sito da cui prendo i dati...
per capirci se estrapolo i dati della tabella (5) che sarebbe quella dove ci sono le classifiche sia dei risultati ottenuti in casa che quella dei risultati ottenuti in trasferta (HOME/AWAY)... le intestazioni di colonna me le da completamente sfalsate...disposte solo su 2 colonne anziché 14...
se invece provo a fare un semplice copia e incolla, oltre a importarmi anche i collegamenti ipertestuali di ogni singola squadra (che non mi interessano), mi importa perfettamente anche le intestazioni di tabella...

è solo per questo motivo che chiedevo riguardo alla fedeltà di formattazione...perché ho pensato che potendo riuscire a ottenerlo con un copia e incolla fatto diretto sulla tabella sorgente... una macro avesse potuto emulare lo stesso processo...

però se non si riesce Amen... ho già ottenuto Tanto così e te ne sono infinitamente Grato !!! ;)
rosseaux
Utente Senior
 
Post: 151
Iscritto il: 06/01/07 14:11
Località: Alfonsine (RA)

Re: [EXCEL 2010] Creare Query Web che accede a contenuto Fla

Postdi ma.urora » 24/03/18 18:47

Buonasera a tutti!
Ho un problemino analogo a quello di @rosseaux , senza però le sue capacità :)
Con il ricco materiale presente in questo thread e l'altro linkato da Anthony47 ho provato a scrivere una macro, che mi consentisse di importare il calendario NBA dal sito Diretta.it (https://www.diretta.it/basket/usa/nba/calendario/)
Ho anche seguito i preziosissimi consigli di @Anthony47 ed inaspettatamente funziona, ma compare una freccia gialla che evidenzia " Stop 'Vedi testo ".
Cosa indica?

Una volta inserita la suddetta macro, l'aggiornamento della stessa avviene in automatico? cosa dovrei fare?
Ringrazio tutti e scusate per le domande da dummies (quale sono) ;)
ma.urora
Newbie
 
Post: 1
Iscritto il: 24/03/18 17:48

Re: [EXCEL 2010] Creare Query Web che accede a contenuto Fla

Postdi Anthony47 » 25/03/18 01:38

Eh, devi leggere il testo del messaggio dove hai preso il codice della macro; in particolare:
La macro si ferma su Stop per consentire il controllo di allineamento dei dati sul sito con i dati importati; terminato il debug la riga Stop puo' essere eliminata

Quindi fintanto che lasci Stop, controlla che l'importazione sia coerente col contenuto del sito e poi (ma in effetti questo NON E' scritto nel messaggio) completa la macro premendo F5 (dalla finestra che mostra Stop); quando sei convinto (dopo un paio di prove, diciamo) che l'import e' regolare cancelli la riga Stop.

La macro non aggiorna periodicamente i risultati (per farlo dovrebbe essere inserita in un ciclo che si autopianifica, ma non te lo suggerisco); metti un pulsante sul foglio Excel e associagli l'esecuzione della macro, cosi' quando vuoi aggiornare i risultati ti basta premere il pulsante.

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


Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL 2010] Creare Query Web che accede a contenuto Flash":


Chi c’è in linea

Visitano il forum: Nessuno e 29 ospiti