Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Macro con pausa Apri-Aggiorna-Chiudi

Ultimo Aggiornamento: 12/07/2018 09:31
Post: 87
Registrato il: 10/05/2005
Utente Junior
EXCEL 2016
OFFLINE
04/07/2018 10:58

Buongiorno,
ho un file i cui dati, tramite un plugin, vengono pubblicati sul web solo che questo plugin vuole il file chiuso.
Ho "creato" in un file una macro che ciclicamente va ad aprire un altro file, gli aggiorna i dati e poi lo salva e lo richiude.
Mi sembrava tutto troppo semplice infatti una volta lanciata, mi apre il file ma dopo 10 sec mi compare una maschera di errore "l'operazione annullerà un aggiornamento dei dati in sospeso, continuare?". Come se non avesse fatto in tempo ad aggiornare il file percui ho aggiunto una stringa con wait

Sub A_C()
'
' A_C Macro
'
'
ChDir "C:\Users\Regata\Desktop"
Workbooks.Open Filename:="C:\Users\Regata\Desktop\Giac MP.xlsx"
ActiveWorkbook.RefreshAll
Application.Wait (Now + TimeValue("0:00:10"))

ActiveWorkbook.Save
ActiveWindow.Close
End Sub
Sub schedula()
Application.OnTime Now + TimeValue("00:00:30"), "A_C"
Bin = True
End Sub
Sub ferma()
Bin = False
End Sub

forse wait non è il comando giusto? e poi dato che si blocca non so se ciclicamente fa tutto correttamente
mi dite se il resto della macro è corretto?

Grazie
Renato
----------
Excel 2010
Post: 1.881
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
04/07/2018 11:23

Ciao
solo un tentativo:

togli il wait da dove lo hai messo e inseriscilo prima di:
Bin = True

Tra l'altro, quell' Application.OnTime Now + TimeValue("00:00:30"), "A_C" , che ci sta a a fare?

Ripeto, solo un tentativo

Saluti
Domenico
Win 10 - Excel 2016
Post: 87
Registrato il: 10/05/2005
Utente Junior
EXCEL 2016
OFFLINE
04/07/2018 11:33

dodo non funziona.
quell' Application.OnTime Now + TimeValue("00:00:30"), "A_C"
dovrebbe servire a schedulare la macro: ogni 30 sec fai quello che devi fare.
----------
Excel 2010
Post: 1.882
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
04/07/2018 11:48

sorry.....




Domenico
Win 10 - Excel 2016
Post: 88
Registrato il: 10/05/2005
Utente Junior
EXCEL 2016
OFFLINE
04/07/2018 12:04

sorry di che? non ti preoccupare,
sembra che wait congeli un po' tutto quindi probabilmente anche l'attività di aggiornamento. Io riprovo a smanettare ma se avete delle proposte non vergonatevi.. [SM=x423023]
grazie
----------
Excel 2010
Post: 1.885
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
05/07/2018 18:32

Ciao
in effetti, da manuale, il "Waith" sospende tutte le attività, quindi ci sta il malfunzionamento.

Come "PROVA" potresti usare sempre l'Application.OnTime, qualcosa tipo:

Sub A_C()
ChDir "C:\Users\Regata\Desktop"
Workbooks.Open Filename:="C:\Users\Regata\Desktop\Giac MP.xlsx"
ActiveWorkbook.RefreshAll
'Application.Wait (Now + TimeValue("0:00:10"))
ActiveWorkbook.Save
ActiveWindow.Close
End Sub

Sub schedula()
Application.OnTime Now + TimeValue("00:00:30"), "A_C"
Application.OnTime Now + TimeValue("00:00:05"), "Bin"
'Bin = True
End Sub

Sub Bin()
Bin = True
End Sub

Sub ferma()
Bin = False
End Sub


MA è sempre e solo un tentativo

Cari saluti



Domenico
Win 10 - Excel 2016
Post: 89
Registrato il: 10/05/2005
Utente Junior
EXCEL 2016
OFFLINE
10/07/2018 10:09

nulla, continua a dare il solito errore.
A questo qunto mi viene il dubbio che non sia neanche una questione di tempi. ma non so dove battere la testa.
----------
Excel 2010
Post: 3.595
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
10/07/2018 11:39

Ciao a tutti
http://mikevba.altervista.org/macro/mikevba111.htm
Hai provato con Timer + DoEvents
Solo una domanda, qualè il comando che aggiorna in rete? >>>ActiveWorkbook.RefreshAll (non credo)
>>>tramite un plugin
Si può sapere quale plugin sia?
https://excelacademy.it/1996/excel-come-pubblicare-file-excel-sul-web/

[Modificato da raffaele1953 10/07/2018 14:13]
Excel 2013
Post: 90
Registrato il: 10/05/2005
Utente Junior
EXCEL 2016
OFFLINE
10/07/2018 15:30

si, si aggiorna con refresh
----------
Excel 2010
Post: 91
Registrato il: 10/05/2005
Utente Junior
EXCEL 2016
OFFLINE
10/07/2018 15:45

forse ho risposto troppo d'impulso,
refresh aggiorna i dati dal mio sqled aggiorna questo file; poi questo file viene ripreso da un plugin che non è interessato al processo di aggiornamento.
----------
Excel 2010
Post: 3.596
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
10/07/2018 16:51

Se Ti riferisci al fatto che i codici non si sussegono.
Prova così (di norma sono solo tre, alcune volte non si riesce fermarlo)
vb
Public Bin
Option Explicit
Sub A_C()
If Bin = True Then
    Dim Percorso As String, nomeFile As String
    nomeFile = "Giac MP.xlsx"
    Percorso = "C:\Users\Casa\Desktop\Prove_Excel\rete" & "\"
    Workbooks.Open Filename:=Percorso & nomeFile
    ActiveWorkbook.RefreshAll
    ActiveWorkbook.Save
    ActiveWindow.Close
    MsgBox Bin ' da eliminare dopo le prove
    Call schedula
End If
End Sub
Sub Avvia() 'quella di partenza
Bin = True
Application.OnTime Now + TimeValue("00:00:05"), "A_C"
End Sub
Sub ferma()
Bin = False
End Sub
Sub schedula()
Application.OnTime Now + TimeValue("00:00:30"), "A_C"
End Sub


Se Ti riferisci al WEB, Vero che ActiveWorkbook.RefreshAll aggiorna il file
Mà non vedo nessun comando speciale (non sò come fai ad aggiornarlo)
Excel 2013
Post: 92
Registrato il: 10/05/2005
Utente Junior
EXCEL 2016
OFFLINE
11/07/2018 16:08

Ciao Raffaele,
l'errore persiste.
Preso dalla disperazione sono andato a modificare il file che ciuccia i dati dall'sql e grazie alle proprietà delle connessioni gli go detto di aggiornarsi all'apertura del file così da togliere l'istruzione refresh alla macro del file appoggio.
Ora infatti il file di appoggio apre il file dati e lo chiude ciclicamente senza dare errori, solo che il file dati non si riesce ad aggiornare comunque.
Se lo apro direttamente in 2 secondi si aggiorna, se lo faccio fare al file di appoggio invece non aggiorna una cippa.
Non pensavo fosse così difficile.
A questo punto mi chiedo se affronto il problema nella maniera corretta? Non conosco VBA ma non mi sembrava un lavoro proibitivo. Magari bestemmio ma esistono le automacro? (a file chiuso si auto attivano ecc ecc in maniera da eliminare il file di appoggio)
Io insisto, insistete anche voi vi prego.
----------
Excel 2010
Post: 3.604
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
11/07/2018 17:18

Ho letto e riletto il post
Da ignorante (terza media), mi sai dire (dov'è) l'errore che persiste secondo Te?

Non hai allegato un file (in questo caso non servirebbe)
Hai forse allegato la "Tua connessione, user & passw" per capire il probema?

>>>Se lo apro direttamente in 2 secondi si aggiorna
Come detto (terza media), mà "un sito, a me si aggiorna in 30"

Un saluto
Excel 2013
Post: 93
Registrato il: 10/05/2005
Utente Junior
EXCEL 2016
OFFLINE
11/07/2018 17:37

Scusa raffaele, io leggo i post e mi sembrano chiari ma forse non sono riuscito a spiegarmi bene quindi reset:
devo rendere disponibili dei dati tramite una pagina web
per pubblicare questi dati utilizzerò un plugin che pesca i dati da un file excel che deve essere chiuso. Questo è quello che farò dopo e per ora non mi interessa.
Ora invece ho il problema di mantenere chiuso quel file facendo in maniera però che si aggiorni ogni tot minuti.
Da un sistema gestionale esporto in excel i dati di magazzino che mi servono e chiamo questo file GiacMP.xlsx. Questo file tutte le volte che lo apro va a collegarsi col gestionale ed aggiorna i dati (esportazioni che ampiamente utilizzo a seconda delle esigienze: vendite, magazzino, statistiche varie insomma).
Dato che non posso aggiornare continuamente manualmente il file cercavo qualcosa che lo facesse in automatico. Di qui l'esigenza di una macro che aprisse il file, facesse "dati-aggiorna tutti" e lo richiudesse dopo averlo salvato.
Quello che sono riuscito a fare è apri il file e chiudi il file senza chiedere se lo vuoi salvare.
Quello che non sono riuscito a fare è : dopo aver aperto il file, aggiorna i dati. Se utilizzo nella macro Refresh, dà errore (interruzione dell'applicazione ecc ecc) se invece assegno questo compito alle proprietà del file di excel (aggiorna all'avvio) non si aggiorna.

----------
Excel 2010
Post: 3.606
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
11/07/2018 22:28

>>> io leggo i post e mi sembrano chiari
>>>pagina web
Mi spiace non capisco i Tuoi pensieri

Non desideravo "romperTi le scatole". Spero che TU risolva il problema
Ps>>>mi sai dire (dov'è) l'errore che persiste secondo Te? ....almeno per i futuri posteri
Excel 2013
Post: 94
Registrato il: 10/05/2005
Utente Junior
EXCEL 2016
OFFLINE
12/07/2018 09:31

Raffaele
ti ringrazio per la partecipazione, non rompi assolutamente le scatole,anzi ti ringrazio per l'interessamento.
Mi immaginavo un po' più di partecipazione da altri ma non pretendo nulla; è un forum e ognuno partecipa per quello che può.
Alla tua domanda se so dove è il problema: boh!
Se prendo il file in cui ho impostato l'aggiornamento dei dati all'apertura, effettivamente si aggiorna ed in tempi rapidi.
Se invece diciamo tramite macro ad un file: apri quel file, aspetta che si aggiorni e poi chiudilo, questo non si aggiorna.
Che dire, io continuo a smanettare e a cercare magari su altri forum, poi se trovo il bandolo della matassa mi rifaccio vivo.

----------
Excel 2010
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Costruire 4006 fogli con macro (12 messaggi, agg.: 03/04/2020 20:13)
Risolutore con macro e indicizzazione (6 messaggi, agg.: 07/04/2020 21:11)
Attivare macro con CONTA.NUMERI (14 messaggi, agg.: 22/05/2017 06:40)
File combinato word con excel (2 messaggi, agg.: 27/07/2020 23:01)
Macro per inserire in cella valore calcolato da formula (13 messaggi, agg.: 01/05/2018 18:46)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 18:35. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com