Condividi:        

query 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

query excel

Postdi antonio64 » 11/04/15 16:57

salve,
ho esigenza si scaricare attraverso queries in excel alcune tabelle. in particolare, con riferimento all'indirizzo http://tools.morningstar.it/it/stockqui ... geId=it-IT
il sito mi permette di scaricare solo i primi 20 titoli pur selezionando in fondo alla tabella "visualizza 500 per ogni pagina". In altri termini, ho bisogno di scaricare l'intera tabella composta da 463 titoli e non solo i primi 20. l'indirizzo, tanto quello di default, tanto quello che risulta cliccando su "visualizza 500 per pagina" è sempre lo stesso. Lo stesso dicasi per le tabelle "generale", "breve termine", "lungo termine" e "valutazione". c'è un modo per "scoprire" l'indirizzo interno del server per ogni singola tabella, così da utilizzarlo per le queries e dunque importare sul proprio foglio excel le singole tabelle per intero e non invece solo per i primi 20 titoli?
grazie a chi mi aiuta
ant
antonio64
Newbie
 
Post: 1
Iscritto il: 11/04/15 16:55

Sponsor
 

Re: query excel

Postdi ricky53 » 14/04/15 15:47

Ciao,
benvenuto nel nostro forum.

Hai inserito il tuo quesito in una sezione errata.
Chiedi ad un moderatore di spostarlo nella sezione di Office
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: query excel

Postdi Anthony47 » 16/04/15 22:45

Questa non l' avevo proprio vista, probabilmente e' stata spostata da altra sezione e si e' trovata subito in coda ad altre discussioni piu' recenti...
Comunque non puoi importare questi dati con una Query Web, perche' e' necessaria una interazione che lì non e' consentita.
Lo puoi fare con questa macro, che importa sul foglio REALTIME (che deve gia' esistere nel tuo file Excel e che sara' AZZERATO SENZA PREAVVISO all' avvio della macro) tutte le tabelle presenti sul sito, dopo aver impostato la scelta su 500 righe.
Il codice:
Codice: Seleziona tutto
Sub Morningstar()
'by Anthony, vedi http://www.pc-facile.com/forum/viewtopic.php?f=26&t=104459
Dim tablId, tablSh, myID, nextUrl As String, urlA As String, urlB As String
Dim I As Long, SecShot As Long
'
SecShot = 0
Set IE = CreateObject("InternetExplorer.Application")
myUrl = "http://tools.morningstar.it/it/stockquickrank/default.aspx?Site=it&universeId=E0EXG%24XMIL&LanguageId=it-IT"     '<<<<
'
With IE
    .navigate myUrl
    .Visible = True
End With
reURL:
Do While IE.Busy: DoEvents: Loop    'Attesa not busy
Do While IE.readyState <> 4: DoEvents: Loop 'Attesa documento
'
If SecShot = 0 Then
    Set myColl = IE.document.getelementsbytagname("select")(3)
    myColl.Value = 500
    myColl.fireevent ("onchange")
    '
    myStart = Timer  'attesa addizionale
    Do
        DoEvents: If Timer > myStart + 3 Or Timer < myStart Then Exit Do
    Loop
    SecShot = 1
End If
If SecShot = 1 Then SecShot = 2: GoTo reURL

'Leggi le tabelle, sul foglio Attivo
Sheets("REALTIME").Select
ActiveSheet.Cells.Clear
Set myColl = IE.document.getelementsbytagname("TABLE")
For Each myItm In myColl
    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

MsgBox ("Completato")
'
'Stop
'Chiusura IE
IE.Quit
Set IE = Nothing
End Sub

Poiche' si basa sull' analisi del sorgente html del sito non c'e' nessuna garanzia che quel che eventualmente funziona oggi funzionera' ancora la prossima settimana...

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


Torna a Applicazioni Office Windows


Topic correlati a "query excel":


Chi c’è in linea

Visitano il forum: Nessuno e 44 ospiti