› Excel e gli applicativi Microsoft Office › Problema OLE con apertura file excel da macro
-
AutoreArticoli
-
Salve a tutti, ho il seguente problema:
In un form ho diversi pulsanti ed uno di questi mi permette di aprire un altro file excel. Versione di Excel 2013.
Ho associato al pulsante il codice
Workbooks.Open Filename:(mio percorso)
Fino a qui tutto ok, posso lavorare sul file appena aperto oppure tornare al mio form iniziale. Il problema sorge quando chiudo il file che avevo aperto, perché il sistema operativo mi blocca Excel e non riesco più a fare niente, Excel è come in un loop. Dopo qualche secondo mi arriva una finestra di avvertimento e mi informa che un'altra applicazione sta terminando un processo OLE e devo attendere. Di fatto, l'unica maniera di uscire e con il classico CTRL+ALT+CANC.
Qualcuno è in grado di dirmi quale può essere il problema? Grazie.
Emanuele.
Ciao
Forse sarebbe il caso di allegare il file o, quanto meno, il codice con il quale chiudi (o tenti di chiudere) il secondo file.
Ciao,
Mario
Ciao, in realtà chiudo il file che ho aperto cliccando sulla X della finestra. Ho provato con diversi file ed ho visto che il problema è sempre il solito, quindi non dipende dal file.
Cercando sul web ho visto che alcuni preferiscono dichiarare un oggetto excel application, poi un oggetto workbook e dopodiché fare un SET con il file che interessa. A quel punto rendono visibile il workbook e tutto dovrebbe andare a dovere. Provo e vi faccio sapere.
Emanuele.
L'idea di Marius era di andare a verificare quali altri processi rimanevano appesi in memoria dopo l'apertura e la chiusura del secondo file, perchè se ci sono connessioni o riferimenti incrociati allora può diventare effettivamente un problema. Non sono sicuro che assegnare ad una variabile oggetto il file in apertura sia risolutivo, ma appunto bisognerebbe avere i file interessati.
Sono in viaggio in questo momento, comunque domani quando rientro a casa vi passo i files. Grazie per il momento dell'aiuto.
Ho fatto delle prove ed il problema risiede nel file che apro, perché con altri file non mi da nessun errore. Vi metto qui di seguito il messaggio che ricevo:
Vi allego anche il file incriminato. Quando apro questo file da Windows e ci lavoro sembra che funzioni tutto bene, però se lo apro tramite il seguente comando:
Workbooks.Open(ActiveWorkbook.Path & "\Costi Spruzzatori v1.xlsm")
ci posso lavorare senza problemi ma appena lo chiudo non mi funziona più Excel e a cadenza di 20-30 secondi mi viene il msgbox con il messaggio OLE come sopra.
Qualcuno ha qualche idea di quale possa essere il problema? Ho ricontrollato il codice nel file allegato, ma non mi sembra che ci sia niente di strano. Grazie.
Emanuele.
Allegati:
You must be logged in to view attached files.A me non accade, ma ho notato che il file allegato ha un nome senza spazi mentre il codice di apertura ha gli spazi.
ho notato che il file allegato ha un nome senza spazi
E' il sistema di archiviazione del forum, conserva i file rimpiazzando gli spazi.
Il codice del file allegato non ha niente di "strano". Poichè il file lo apri:
se lo apro tramite il seguente comando:
non certo da finestra immediata, ma come hai detto all'inizio da un form, è questo file (quello col form) che dovresti mostrare, perchè è evidentemente lì che si fanno delle operazioni che possono confliggere.
Evidentemente c'è qualcosa nel mio Excel che non funziona. Il form iniziale da cui parte non può essere, perché mi funziona con qualsiasi altro file excel che provo ad aprire e poi per tagliare la testa al toro ho provato facendo un file nuovo dove ho messo un form ed un solo pulsante, con la sola riga di codice per aprire il file incriminato ed anche li mi si ripresenta lo stesso problema.
Visto che a voi funziona, voglio provare anch'io su un altro PC e vi faccio sapere. Grazie per il momento.
Confermo a questo punto che il problema è del mio PC.
Ho provato su un'altro PC, tra l'altro con caratteristiche inferiori, e non solo non da errori, ma addirittura ho la sensazione che il caricamento sia più veloce.
Lo considero concluso, dal punto di vista del codice VBA, anche se ahimé mi rimane il problema con il mio PC
Emanuele.
-
AutoreArticoli