Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Aggiornamento connessioni 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

Aggiornamento connessioni Web

Postdi fara15 » 01/02/12 19:39

Buona sera a tutti,

dovrei validare, in funzione della condizione contenuta nella cella A1=1, l'aggiornamento delle connessioni da Web. Attualmente in excel 2007 questa funzione la svolgo manualmente cliccando nel menù "Dati" l'icona "aggiorna tutti". Esiste la possibilità di farlo in automatico con un codice macro?

Grazie
fara15
Utente Junior
 
Post: 23
Iscritto il: 19/12/11 20:01

Sponsor
 

Re: Aggiornamento connessioni Web

Postdi Anthony47 » 01/02/12 22:49

L' aggiornamento vorresti farlo quando scrivi "1" in A1 o vorresti farla periodicamente fintato che in A1 c' e' la scritta 1?
A1 e' compilata a mano o tramite formula?

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Aggiornamento connessioni Web

Postdi fara15 » 02/02/12 12:04

Grazie Anthony per la sollecita risposta,

A1 è il risultato di una formula.
Se A1=1 l'aggiornamento connessione Web continua in automatico con i tempi impostati nelle maschere di query.
Se A1=2 l'aggiornamento connessione Web deve avvenire solo una volta nel passaggio di A1 da 0 a 2.
Se A1=0 stop aggiornamento connessione Web.

Ciao
fara15
Utente Junior
 
Post: 23
Iscritto il: 19/12/11 20:01

Re: Aggiornamento connessioni Web

Postdi Anthony47 » 02/02/12 23:20

Mi era sfuggita la risposta....

Se non riesci a far risalire il contenuto di A1 a qualche operazione fatta da tastiera allora il mio suggerimento e':
-nella query disabiliti l' aggiornamento periodico
-ti fai una macro "On Time" che parte all' apertura del file e che si riesegue ogni N minuti
Tecnicamente, partendo da Excel:
-Alt-F11 per aprire l' editor delle macro
-nel frame di sx doppioclick sulla voce ThisWorkbook
-inserisci queste istruzioni nel frame di dx
Codice: Seleziona tutto
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime NextT, "Ripeti", , False
End Sub

Private Sub Workbook_Open()
Call Ripeti
End Sub

-Menu /Inserisci /Modulo, inserisci queste istruzioni nel frame di dx:
Codice: Seleziona tutto
Public NextT As Date
Sub Ripeti()
NextT = Now + TimeValue("00:01:00")  '<<<1 
If Range("A1") = 1 Or (Range("A1") = 2 And Range("Z1") <> 2) Then
ActiveSheet.QueryTables("Nomequery").Refresh BackgroundQuery:=True '<<<2
[Z1] = [A1]
End If
Application.OnTime NextT, "Ripeti"
End Sub
Adatta le istruzioni marcate <<<, col ritardo tra una query e la successiva (<<<1, formato hh:mm:ss) e il nome della tua query (la puoi leggere, e anche impostare, con tasto dx sull' area di query, Proprieta' intervallo dati).
NB: ho usato la cella Z1 per replicare il valore precedente di A1; se Z1 non fosse libera usa un' altra cella e cambia di conseguenze le istruzioni

La macro andra' periodicamente in esecuzione, col periodo impostato in <<<1, dall' apertura foglio a sua chiusura

Prova e fai sapere.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Aggiornamento connessioni Web

Postdi fara15 » 03/02/12 21:42

Ciao Anthony,

la macro - ripeti - si interrompe in corrispondenza di:

ActiveSheet.QueryTables("http://it.finance.yahoo.com/").Refresh BackgroundQuery:=True '<<<2

Appena hai un minuto libero puoi verificare se ho commesso un errore?

Ti ringrazio
fara15
Utente Junior
 
Post: 23
Iscritto il: 19/12/11 20:01

Re: Aggiornamento connessioni Web

Postdi Anthony47 » 03/02/12 23:25

Mi dici come hai determinato che il "nome" della tua query sia "http://it.finance.yahoo.com/"?

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Aggiornamento connessioni Web

Postdi fara15 » 04/02/12 20:54

Ciao Anthony,
effettivamente ho fatto confusione invece di inserire il nome (Tu me l'avevi anche scritto come fare a reperirlo) ho inserito l'indirizzo query Web. La macro funziona perfettamente.
Volevo chiederTi se era possibile inserire un temporizzatore in modo da sospendere l'esecuzione della macro "Ripeti" per permettere prima lo scarico dei dati da Web e successivamente far partire una ulteriore Mia_macro.
Ho provato ad inserire Application.Wait, come indicato in basso, ma non ho ottenuto nessun risultato.

Sub Ripeti()
NextT = Now + TimeValue("00:01:00")
If Range("A1") = 1 Or (Range("A1") = 2 And Range("Z1") <> 2) Then
ActiveSheet.QueryTables("Nomequery").Refresh BackgroundQuery:=True
ActiveSheet.QueryTables("Nomequery2").Refresh BackgroundQuery:=True
ActiveSheet.QueryTables("Nomequery3").Refresh BackgroundQuery:=True
Application.Wait: Now TimeValue ("00:00:30")
CALL Mia_macro

[Z1] = [A1]
End If
Application.OnTime NextT, "Ripeti"
End Sub

Ti ringrazio
fara15
Utente Junior
 
Post: 23
Iscritto il: 19/12/11 20:01

Re: Aggiornamento connessioni Web

Postdi Anthony47 » 04/02/12 23:09

effettivamente ho fatto confusione invece di inserire il nome [. . . .] ho inserito l'indirizzo query Web
Era evidente, ma ho preferito lo scoprissi da solo...
Se vuoi attendere il completamento dello scambio dati allora devi impostare quei BackgroundQuery su False; cioe' trasformarli in
Codice: Seleziona tutto
ActiveSheet.QueryTables("NomeQuery").Refresh BackgroundQuery:=False
Tutti, se vuoi essere certo che tutte le query siano cncluse; oppure solo quella che ti interessa.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Aggiornamento connessioni Web

Postdi fara15 » 05/02/12 20:03

Ciao Anthony grazie per l'aiuto che mi hai dato.
fara15
Utente Junior
 
Post: 23
Iscritto il: 19/12/11 20:01

Re: Aggiornamento connessioni Web

Postdi Gigi_ » 14/03/12 19:55

Ciao a tutti,
scusate se mi aggancio a questo vecchio post, ma non mi sembra il caso di aprirne un altro visto che avrebbe lo stesso titolo.
Bando ai preamboli!
Con le macro riesco a ripulire la pagina dalla query web e dai suoi dati più o meno visibili ma non riesco ad automatizzare la moltitudine di nomi (inserisci, nome, definisci) che si creano.
Posso trascurare la cosa o lungo andare si potrebbe appesantire il file o magari addirittura bloccarsi?
Idee in proposito?
Grazie.
P.S. excel 2003
Gigi_
win 7 + office 2003
Avatar utente
Gigi_
Utente Senior
 
Post: 340
Iscritto il: 14/11/09 21:51

Re: Aggiornamento connessioni Web

Postdi Anthony47 » 15/03/12 00:01

Evidentemente continui ad "aggiungere" connessioni, mentre dovresti solamente "rinfrescarle" o modificarne la "connessione".
Creare ripetitivamente intervalli nominati e query non e' salutare, personalmente suggerisco di evitarlo.
Dai uno sguardo ad esempio a questa discussione:
viewtopic.php?t=86762#p493411
E se non risolvi con questi vaghi spunti allora pubblica il codice con cui lavori e vedremo insieme come fare.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Aggiornamento connessioni Web

Postdi Gigi_ » 15/03/12 10:52

Ciao, grazie dell'interessamento.
Non mi interessa rinfrescare i dati, faccio data mining con il mio bravo foglio di excel per cui cambio continuamente pagina.
Avrei quasi pensato (tanto per tagliare la testa al toro) di eliminare la pagina periodicamente e quindi ricrearla.
c'est plus facile?
Gigi_
win 7 + office 2003
Avatar utente
Gigi_
Utente Senior
 
Post: 340
Iscritto il: 14/11/09 21:51

Re: Aggiornamento connessioni Web

Postdi Anthony47 » 15/03/12 23:11

Da quello che hai scritto dovrebbe bastare "modificare la connessione" del link della query, se usi una query; il codice postato nel messaggio linkato fa quella operazione.
Se invece preferisci ogni tanto cancellare e ricominciare penso che possa funzionare anche cosi'.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Aggiornamento connessioni Web

Postdi Gigi_ » 23/03/12 20:38

....vado a ricontrollare il post....grazie!
Gigi_
win 7 + office 2003
Avatar utente
Gigi_
Utente Senior
 
Post: 340
Iscritto il: 14/11/09 21:51


Torna a Applicazioni Office Windows


Topic correlati a "Aggiornamento connessioni Web":


Chi c’è in linea

Visitano il forum: PcBase e 5 ospiti