Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Importare parte pagina 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

Importare parte pagina web

Postdi serra » 26/07/18 16:50

Salve, vorrei importare parte di questa pagina web https://www.bloomberg.com/quote/GC1:COM
Immagine grafico escluso
Questo è il codice che usavo per altre pagine, ma che per questa non carica nulla:
Codice: Seleziona tutto
Sub GetTabSubGOLD()
'Va Chiamata passandogli l'URL da leggere
myURL = "https://www.bloomberg.com/quote/GC1:COM"
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 SUL FOGLIO ATTIVO
Sheets("GOLD").Activate
Worksheets("GOLD").Visible = True
Sheets("GOLD").Select

Set myColl = IE.document.getElementsByTagName("TABLE")

For Each myItm In myColl
    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


IE.Quit
Set IE = Nothing

'Worksheets("GOLD").Visible = False

End Sub


Ho pensato di cambiare Table con script, ma non ha funzionato. Qualche consiglio per risolvere?
(Con la query si caricano tutti i dati che mi servirebbero, ma per uno script del sito compaiono diversi errori che rendono la query web inutilizzabile)
serra
Utente Junior
 
Post: 25
Iscritto il: 11/02/18 09:37

Sponsor
 

Re: Importare parte pagina web

Postdi Anthony47 » 26/07/18 22:43

Quella macro importa le "tabelle", ma in quella pagina non ce ne sono...
Se non vuoi usare la WebQuery, che dà alcuni errori di script in fase di impostazione ma non in fase di aggiornamento dati, possiamo riciclare l'approccio della Sub GetTabSubGOLD tramite questa variante:
Codice: Seleziona tutto
Sub GetTabSubGOLD2()
'Vedi http://www.pc-facile.com/forum/viewtopic.php?f=26&t=109924
myURL = "https://www.bloomberg.com/quote/GC1:COM"
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 SUL FOGLIO ATTIVO
''Sheets("GOLD").Activate
''Worksheets("GOLD").Visible = True
''Sheets("GOLD").Select

Set mycoll = IE.document.getElementsByclassname("pseudoMainContent")
mySplit = Split(mycoll(0).innertext, Chr(10), , vbBinaryCompare)
'Scrive in B1 e sottostante (***):
Range("B1").Resize(UBound(mySplit) + 1, 1).Value = Application.WorksheetFunction.Transpose(mySplit)  '<<<
       
IE.Quit
Set IE = Nothing
End Sub

Questa mette il contenuto cercato nelle celle da B1 verso il basso "del foglio attivo"; per gestire diversamente i Fogli, ripristina le istruzioni che ho commentato; per scrivere in posizione diversa da B1 devi modificare l'istruzione marcata <<<
Il paramero pseudoMainContent e' dedotto ispezionando il codice sorgente della pagina web: nulla garantisce che l'architettura della pagina web non cambi, o che questo parametro non cambi; quando succedera' il codice restituira' dati nulli o inesatti.

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

Re: Importare parte pagina web

Postdi serra » 27/07/18 07:54

Grazie mille, avevo provato anche io a ispezionare il sito, infatti avevo trovato quel riferimento script, ma non ero riuscito ad andare oltre, non avevo trovato nessun riferimento a quella prima parte di dati. Ora la provo e ti so dire
serra
Utente Junior
 
Post: 25
Iscritto il: 11/02/18 09:37


Torna a Applicazioni Office Windows


Topic correlati a "Importare parte pagina web":


Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti