Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Problema queryweb

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

Problema queryweb

Postdi serra » 23/05/18 17:19

Salve, dopo l'ultimo aggiornamento di borsa italiana quando provo a caricare attraverso una normale queryweb questa pagina:
http://www.borsaitaliana.it/borsa/deriv ... 09&lang=it
Non carica più la tabella centrale con la lista delle opzioni.
Ho provato a modificare le query dicendogli di importare tabelle diverse, e non tutta la pagina, ma con tabella 1 importa la prima riga in alto con le voci, con tabella 2 i dati sotto a queste voci, con tabella 3 foglio vuoto, e quindi non riesco proprio a indicargli di prendere quei dati centrali nella pagina, qualche consiglio? Ovviamente anche con VBA
serra
Utente Junior
 
Post: 25
Iscritto il: 11/02/18 09:37

Sponsor
 

Re: Problema queryweb

Postdi Anthony47 » 23/05/18 23:14

Le webquery fanno acqua sulle pagine create dinamicamente tramite script.

Prova con quanto suggerito in queste altre discussioni, che hanno l'obiettivo di leggere tramite vba tutte le tabelle presenti sulla pagina:
viewtopic.php?f=26&t=106072#p620716
viewtopic.php?f=26&t=106400#p622726

Prova con quanto lì descritto e se non risolvi fai sapere dove arrivi
Avatar utente
Anthony47
Moderatore
 
Post: 17446
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Problema queryweb

Postdi serra » 24/05/18 15:31

Grazie Anthony sto leggendo e provo a elaborare una soluzione.

Posso chiederti un altro consiglio non inerente a questo stessa problema ma simile?
Codice: Seleziona tutto
Sub ScaricaFileXls()

Dim myURL As String
Dim WinHttpReq As Object
Dim sFilename As String
Dim oStream As Object
Dim fname As String

'Application.ScreenUpdating = False

Sheets("GESTIONE").Activate
Range("D2") = Date
Range("A1").Select
fname = Format(ActiveCell.Offset(0, 1).Value, "dd-mm-yyyy")

myURL = "http://www.consob.it/documents/46180/46181/PncPubbl.xlsx/ddc5b7dc-b8a5-4d6c-aff5-0ce15e4109a9?l='+rand"
sFilename = Environ("SystemDrive") & Application.PathSeparator & "SHORTHUNTER" & Application.PathSeparator & _
            fname & ".xlsx"
       
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
    WinHttpReq.Open "GET", myURL, False
   WinHttpReq.Send
   
    myURL = WinHttpReq.ResponseBody
    If WinHttpReq.Status = 200 Then
        Set oStream = CreateObject("ADODB.Stream")
        oStream.Open
        oStream.Type = 1
        oStream.Write WinHttpReq.ResponseBody
        oStream.SaveToFile sFilename, 1  ' 1 = no overwrite, 2 = overwrite
       oStream.Close
    End If


Ho modificato questo codice per scaricare il file a quel link che viene aggiornato ogni sera da consob, ma pur rimanendo sempre lo stesso link ogni giorno mi continua a scaricare sempre il file del 18/05 (giorno in cui ho creato la macro), quale può essere secondo te il problema?
serra
Utente Junior
 
Post: 25
Iscritto il: 11/02/18 09:37

Re: Problema queryweb

Postdi Anthony47 » 24/05/18 22:35

Non conosco il funzionamento del tuo sito, comunque io usando myURL = "http://www.consob.etc etc ho scaricato un file excel che contiene transazioni anche di ieri 23-maggio.

Lo stesso risultato lo ottengo con questo codice:
Codice: Seleziona tutto
'Questa parte va RIGOROSAMENTE in testa al Modulo vba:
Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
  "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal _
    szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
 

Sub myff()
Set WShell = CreateObject("WScript.Shell")
mydPath = WShell.SpecialFolders("MyDocuments")
Resp = URLDownloadToFile(0, "http://www.consob.it/documents/46180/46181/PncPubbl.xlsx/ddc5b7dc-b8a5-4d6c-aff5-0ce15e4109a9?l='+rand", mydPath & "\myF_" & Format(Now, "yyyy_mm_dd") & ".xlsx", 0, 0) '<<< Vedi Testo
Set WShell = Nothing
End Sub


Devi eseguire la myFF; il file verra' nominato myF_anno_mese_gg.xlsx e verra' salvato nella cartella Documenti

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

Re: Problema queryweb

Postdi serra » 28/05/18 11:26

Purtroppo la tua macro, anche se caricata in un foglio nuovo continua a scaricarmi il file del 18/05, se invece apro il link direttamente in un browser scarica quella odierna.
Può essere che excel attraverso la mia macro iniziale abbia creato un "collegamento fisso" a quel file, e quindi non scarichi quello aggiornato?
serra
Utente Junior
 
Post: 25
Iscritto il: 11/02/18 09:37

Re: Problema queryweb

Postdi Anthony47 » 28/05/18 23:03

Non posso che confermarti che se io eseguo oggi Lun 28-magg la Sub myff mi viene scaricato un file excel che contiene elementi datati 25-mag-2018.
Non so come si "naviga" su quel sito fino ad avere l'opzione di scaricare il file, se me lo spieghi proviamo strade alternative.

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

Re: Problema queryweb

Postdi serra » 29/05/18 07:03

Il sito originale è questo http://www.consob.it/web/area-pubblica/pnc
Cliccando sul link "PNC su titoli azionari, aggiornate e storiche" scarica il file.
Io ho analizzato la pagina web con ispeziona elemento ricavando il link inserito nella macro
serra
Utente Junior
 
Post: 25
Iscritto il: 11/02/18 09:37

Re: Problema queryweb

Postdi Anthony47 » 29/05/18 22:41

Il sospetto che mi viene e' che tu scarichi il file da una cache presente sul tuo Pc; modifica il codice della Sub myff come segue (fermo restando il codice iniziale):
Codice: Seleziona tutto
Sub myff()
Set WShell = CreateObject("WScript.Shell")
mydPath = WShell.SpecialFolders("MyDocuments")
Resp = URLDownloadToFile(0, "http://www.consob.it/documents/46180/46181/PncPubbl.xlsx/ddc5b7dc-b8a5-4d6c-aff5-0ce15e4109a9?l=" & Int(Rnd() * 1000000), mydPath & "\myF_" & Format(Now, "yyyy_mm_dd") & ".xlsx", 0, 0) '<<< Vedi Testo
Set WShell = Nothing
End Sub


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

Re: Problema queryweb

Postdi serra » 30/05/18 09:06

Ora funziona correttamente, grazie!
proverò riguardo il quesito originale del post, e vedo se riesco a risolvere anche quello!
serra
Utente Junior
 
Post: 25
Iscritto il: 11/02/18 09:37


Torna a Applicazioni Office Windows


Topic correlati a "Problema queryweb":

Problema notebook asus
Autore: Gab78
Forum: Assistenza Hardware
Risposte: 6

Chi c’è in linea

Visitano il forum: Nessuno e 45 ospiti