› Sviluppare funzionalita su Microsoft Office con VBA › Messaggio "Attesa completamento di un'azione OLE"
-
AutoreArticoli
-
Buongiorno a tutti.
Sto sviluppando un programma in VBA con interfaccia userform, che comunica poi con altri programmi per la gestione di alcune funzionalità. Con le ultime funzioni che ho implementato i tempi per fare girare il codice si sono allungati (siamo intorno a circa 1.30min - 2min per ogni run), e compare il messaggio "Microsoft excel è in attesa di completamento di un'azione OLE". La cosa fastidiosa è che quando compare questo messaggio l'applicazione si freeza, e completa le ultime istruzioni solo dopo che l'utente dà OK al messaggio, o "PASSA A". Siccome vorrei evitare che l'utente finale si debba trovare ogni volta a dover compiere questa operazione in più per completare il run del programma, vorrei chiedervi se esiste un modo che VBA completi l'azione OLE senza rompere le scatole all'utente.
Grazie a tutti per l'aiuto
Giulio
ciao a tutti,
ciao Giulio,
non mi è mai capitato il problema che hai esposto, ma ti costa poco tentare:
flagga quanto segnalato nell'immagine
ciao
Frank

Allegati:
You must be logged in to view attached files.Ciao a tutti
La cosa mi ha incuriosito. Giorni fa un mio parente al quale avevo fatto alcuni "programmini" in Excel per la sua attività mi informava che "non funzionavano più." Col doppio clic sull'icona non si aprivano e veniva fuori un messaggio il quale recitava che il percorso era bloccato (o qualcosa di simile). I miei pomposamente chiamati programmi risiedevano su un server al quale attingevano, con dei semplici collegamenti, le varie postazioni di lavoro.
Cosa era successo. Uno degli impiegati "smanettone" per evitare di "leggere" chiavette USB aveva pensato bene di flaggare quel che tu hai indicato.
Tolto il flag tutto è tornato in ordine.
L'Utente, però, lamenta il fatto che "impiega troppo tempo" per l'apertura non che non si apra.
Puoi darmi qualche delucidazione? Grazie in anticipo e ciao,
Mario
Ciao tanimon, purtroppo ho provato il tuo suggerimento, ma il messaggio esce lo stesso 🙁
ciao a tutti,
ripeto, non mi è mai successo.
Ciao Mario, non ho informazioni utili da fornirti, ho solo dato un'occhiata in Internet per rispondere a Giulio.
Ciao Giulio,
sò che i tuoi files sono "mini applicazioni" e mi spiace tu non abbia risolto con la cosa più semplice che ho trovato, ma sono certo che
non sei il primo a cui è successo e quindi è solo "fortuna" quella di trovare un link in cui è spiegato.
A tal proposito, per quello che capisco, ed ho capito cercando in rete, sarebbe
importante sapere quale istruzione fà scaturire il messaggio di avviso di cui parli e
MOLTO "a naso", forse, potrebbe essere utile un'istruzione "Do Events"
Debugga fino all'istruzione "incriminata" in modo di poter fare delle considerazioni e
e ricerche "mirate".
Ciao
Frank
Ciao
OK. Capito.
Per Giulio: con tutte le cautele del caso, leggi a questo indirizzo
Ciao,
Mario
Ragazzi scusate se non ho più risposto ma ho avuto delle urgenze lavorative che mi hanno temporaneamente obbligato a distogliermi dal problema. Comunque Mario purtroppo l'indirizzo che hai mandato non contiene spunti interessanti per la mia applicazione, sono consigli per utenti "normali" e non per programmatori che utilizzano VBA per comandare programmi esterni. Preso dal consiglio di Frank ho provato a capire di preciso a che punto scattasse il problema, e ho notato che prima che questo succeda il programma di disegno che è stato chiamato da VBA si freeza (compare la famosa clessidra). Cercherò di fare ulteriori test in questi giorni per capire se questo comportamento è legato a qualcosa di particolare. La cosa strana è che questa cosa non succede mai con configurazioni più semplici (le istruzioni sono le stesse solo che sono ripetute meno volte). Grazie mille a tutti per ora.
Giulio
ciao a tutti,
ciao Giulio,
scusami ma non ho capito.....
ho provato a capire di preciso a che punto scattasse il problema, e ho notato che prima che questo succeda il programma di disegno che è stato chiamato da VBA si freeza (compare la famosa clessidra).
presumo tu abbia settato l'applicazione di disegno per poterla richiamare in vba.
domanda:
ma se usi l'app di disegno di per sè, senza altre applicazioni aperte, funziona regolarmente?
Se sì, verificherei l'istruzione in vba con la quale la imposti e le successive che la richiamano.
E' comunque difficile risponderti senza vedere almeno la macro con la quale si freezza.
Ciao
Frank
Si Frank funziona regolarmente ma non solo, funziona regolarmente anche quando la richiamo dal mio codice VBA. Tieni presente che è quasi un anno che sto sviluppando questo software aggiungendo sempre nuove funzionalità, quindi la comunicazione col programma di disegno 3D è abbastanza rodata. In questo caso non succede nulla di diverso dal solito, solo che quando l'utente inserisce combinazioni che generano un disegno molto particolareggiato il numero di operazioni che il codice fa svolgere al programma di disegno è maggiore (ma sono le stesse di prima come tipologia) e quindi ad un certo punto compare questo messaggio sull'azione OLE. Sinceramente non saprei dire se il freezing del programma sia la causa o la conseguenza di questo messaggio.
Spero di avere chiarito maggiormente il topic. Cercherò comunque di vederci un pò più chiaro e darvi delle info in più se posso.
Giulio
ciao Giulio,
ti ringrazio in anticipo a nome degli utenti interessati a questa discussione, per gli aggiornamenti che vorrai comunicare.
Sinceramente non saprei dire se il freezing del programma sia la causa o la conseguenza di questo messaggio.
per scrupolo e/o curiosità, darei comunque un'occhiata all'istruzione DoEvents ed al suo utilizzo....
ciao
Frank
-
AutoreArticoli
