Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

web query: sto uscendo pazzo

570 views
Skip to first unread message

Parcosan

unread,
May 12, 2010, 5:13:33 AM5/12/10
to

Ciao a tutti,

utilizzo una web query per importare su un foglio excel del dati
prelevati da un sito internet in tempo reale.
Il sito da cui prelevo i dati necessita di un accesso con user-id e
password.

Se imposto la query normalmente senza effettuare il login, i dati mi
giungono ritardati. Per cui dopo aver impostato la web query, mi porto
su MODIFICA QUERY ed effettuo il login sul sito.
La cosa funziona per qualche minuto, nel senso che i dati che giungono
dal web sono in tempo reale.
Poi succede qualcosa che mi scollega dal sito sorgente e d'improvviso
l'import mi d� dati ritardati.
Ho pensato di creare una macro che mi faccia un login automatico
all'interno della schermata di modifica query, ma quando registro la
macro, il registratore mi perde tutte le azioni che faccio sulla
finestra internet explorer che si apre col tasto "Modifica query".

Avete suggerimenti per operare con una macro all'interno della finestra
di modifica query?

Grazie


--
Parcosan
------------------------------------------------------------------------
Parcosan > Profilo > http://www.nntp.it/member.php?userid=24346
Vai all'articolo > http://www.nntp.it/showthread.php?t=2458707

Articolo inviato da www.nntp.it

elby

unread,
May 12, 2010, 5:09:53 PM5/12/10
to
Ciao
Nella stringa di connessione inserisci la coppia di valori:
UID=<TuoID>;PWD=<Password>
dove <TuoID> e <Password> l'ID e la password senza virgolette
quindi qualcosa del tipo
Worksheets(1).QueryTables(1) _
.Connection:="ODBC;..........;UID=Rep21;PWD=NUyHwYQI;"
se la queytable già esiste oppure
sintassi simile nel metodo add di querytable per una tabella da
creare.
Prova in quest'ultimo caso a impostare la proprietà SavePassord a TRUE

Ciao Elio


On 12 Mag, 11:13, Parcosan <Parcosan.4au...@no-mx.nntp.forum.com.it>
wrote:


> Ciao a tutti,
>
> utilizzo una web query per importare su un foglio excel del dati
> prelevati da un sito internet in tempo reale.
> Il sito da cui prelevo i dati necessita di un accesso con user-id e
> password.
>
> Se imposto la query normalmente senza effettuare il login, i dati mi
> giungono ritardati. Per cui dopo aver impostato la web query, mi porto
> su MODIFICA QUERY ed effettuo il login sul sito.
> La cosa funziona per qualche minuto, nel senso che i dati che giungono
> dal web sono in tempo reale.
> Poi succede qualcosa che mi scollega dal sito sorgente e d'improvviso

> l'import mi dà dati ritardati.

elby

unread,
May 12, 2010, 5:20:19 PM5/12/10
to
Aggiungo che questo è un tentativo attraverso la manipolazione da
codice dell'oggetto VBA.
Il registratore di macro non registra il login.
Quando si può determinare quando si presenta una finestra di login è
possibile inviare al buffer delal tastiera ID e password con il metodo
SendKeys del VBA.
Tecnicamente registrare azioni sule pagine web è qualcosa di diverso e
sono le cosiddette InternetMacros:
http://www.tethyssolutions.com/internet-web-recorder.htm

Ciao Elio

> > Articolo inviato dawww.nntp.it- Nascondi testo citato
>
> - Mostra testo citato -

Parcosan

unread,
May 13, 2010, 9:32:07 AM5/13/10
to

Ti ringrazio per l'attenzione; ho scritto il seguente codice:


Sub Query_con_pwd()

With ActiveSheet.QueryTables.Add(Connection:= _

"URL;http://www.milanofinanza.it/quotazioni/quotazioni.asp?ordina=0002&action=aggregazione&codiceStrumento=u2ae&aggregazione=57|FTSE%20MIB&ordinamento=+asc",
_
UID:="account", PWD:="password",
Destination:=Sheets("Appoggio").Range("a1"))

.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=True
.RefreshPeriod = 1

End With

End Sub

Il problema � che la pagina internet in cui mi viene chiesta la
password � un altra, non � la stessa in cui si trovano i dati che mi
serve scaricare.
Bisognerebbe all'interno del QueryTables.Add poter navigare nella
pagina di login e inserire qualcosa del tipo:

.Navigate
"http://www.milanofinanza.it/common/login/login.asp?Urlredirect=pag"
Do While .Busy: DoEvents: Loop
Do While .ReadyState <> 4: DoEvents: Loop
.Visible = True
With .Document.Forms("")
.account.Value = "account"
.Password.Value = "password"
.submit.Click
End With

0 new messages