none
UDF in Excel bloccata tramite ESC: come evitarlo?

    Domanda

  • Ciao, ho realizzato un add-in per Excel che si connette ad un server remoto per ottenere i dati di borsa in tempo reale e memorizzarli in una cache interna; ho inoltre realizzato un server RTD che, tramite la funzione DATITEMPOREALE(), permette di ottenere all'interno di una cella il valore in tempo reale di un titolo (in maniera simile a quanto si può fare con il DDE). La funzione DATITEMPOREALE viene wrappata da una UserDefinedFunction, implementata come da più parti viene illustrato (risorse MSDN sulla realizzazione dei server RTD, per esempio). Il wrapper è banale: si limita, partendo dall'oggetto Excel.Application, a richiamare la Worksheetfunction RTD con i parametri opportuni, mascherando la DATITEMPOREALE() all'utente.

    Il problema è che, dopo aver popolato un foglio con la mia UDF (che, man mano che i dati di borsa arrivano, viene ricalcolata in continuazione), se premo ripetutamente ESC ottendo una finestra di Visual Basic che dice "esecuzione del codice interrotta" e offre i due pulsanti "continua" e "termina". Vorrei evitare la comparsa di questa finestra. Ho provato a porre la proprietà EnableCancelKey dell'oggetto Excel.Application a xlDisabled ma non funziona: Excel la cambia immediatamente in xlInterrupt. Ho paura che questo funzioni solo all'interno di una Macro.

    Qualcuno ha un metodo da suggerire? Grazie in anticipo!

    giovedì 4 agosto 2011 21:28

Tutte le risposte