Come configurare e usare la funzione RTD in Excel

Riepilogo

Nota

Le prestazioni della funzione RealTimeData (RTD) sono state notevolmente migliorate in Excel M365 versione 2002 o successiva. Per altre informazioni, vedere Miglioramenti delle prestazioni e dei limiti di Excel.

Questo articolo descrive la funzionalità fornita dalla funzione RealTimeData (RTD). Microsoft Office Excel fornisce una funzione del foglio di lavoro RealTimeData (RTD). Questa funzione consente di chiamare un server di automazione COM (Component Object Model) per recuperare i dati in tempo reale.

Quando è necessario creare una cartella di lavoro che includa dati aggiornati in tempo reale, ad esempio dati finanziari o dati scientifici, è ora possibile usare la funzione del foglio di lavoro RTD. Nelle versioni precedenti di Excel, a tale scopo viene usato Dynamic Data Exchange (DDE). La funzione RTD si basa sulla tecnologia COM e offre vantaggi in materia di affidabilità, affidabilità e praticità. La funzionalità RTD dipende dalla disponibilità di un server RTD per rendere disponibili i dati in tempo reale per Excel. Per altre informazioni su come creare un server RTD, vedere la sezione "Riferimenti".

La funzione RTD recupera i dati da un server RTD da usare nella cartella di lavoro. Il risultato della funzione viene aggiornato ogni volta che nuovi dati diventano disponibili dal server e la cartella di lavoro può accettarli. Il server attende che Excel non sia inattivo prima dell'aggiornamento. Ciò evita allo sviluppatore di dover determinare se Excel è disponibile per accettare gli aggiornamenti. La funzione RTD è diversa da altre funzioni a questo proposito perché le altre funzioni vengono aggiornate solo quando il foglio di lavoro viene ricalcolato.

Sebbene la funzione RTD fornisca un collegamento ai dati in un server, non è lo stesso tipo di collegamento dei riferimenti alle celle in altri fogli di lavoro o cartelle di lavoro. Ad esempio, se si usa la funzione RTD in una cartella di lavoro, non viene visualizzato il messaggio di avvio Collegamenti quando si apre la cartella di lavoro, né è possibile gestire lo stato di una funzione RTD tramite la finestra di dialogo Modifica collegamenti.

Sintassi

La funzione RTD usa la sintassi seguente

=RTD(RealTimeServerProgID,ServerName,Topic1,[Topic2], ...)

dove gli argomenti della funzione sono i seguenti:

  • RealTimeServerProgID

    Stringa che rappresenta l'ID programma del server RTD installato nel sistema locale. Si tratta in genere di un componente aggiuntivo COM registrato da una procedura di installazione o tramite RegSvr32. RealTimeServerProgID è un argomento obbligatorio.

  • NomeServer

    Stringa che rappresenta il nome del server in cui deve essere eseguito il server RTD. Se il server RTD viene eseguito localmente, ServerName deve essere una stringa vuota ("") o omesso.

  • Topic1, [Topic2], ...

    Stringhe che determinano i dati recuperati. È possibile usare da uno a 28 argomenti, anche se è necessario un solo argomento.

Uso di RTD

Come esempio della funzione RTD, prendere in considerazione il recupero di informazioni da un server che fornisce dati continui per i runner in diverse gare simultanee. Si supponga che il server sia fornito come DLL (Dynamic Link Library) denominato RaceReport.dll, che sia installato nel computer dell'utente e che sia registrato come componente aggiuntivo COM dal proprio processo di installazione. La forma generale della funzione RTD usata con questo server potrebbe essere la seguente

=RTD("MyRTDServerProdID","MyServer","RaceNum","RunnerID","StatType")

dove gli argomenti RaceNum, RunnerID e StatType determinano rispettivamente la corsa di interesse, il runner i cui dati sono necessari e il tipo di dati per un uso specifico della funzione.

In questo caso l'utente potrebbe selezionare una cella e digitare la formula seguente

=RTD("ExcelRTD.RaceReport","","2","16","Time")

per vedere il tempo trascorso corrente per il numero di corridore 16 nella gara numero 2. Il numero di argomenti e la natura dei dati associati sono determinati dallo sviluppatore del server COM. Ad esempio, il server di race reporting potrebbe fornire dati diversi se si usa la funzione RTD seguente:

=RTD("ExcelRTD.RaceReport","","3","25","Position")

In questo caso, i dati restituiti indicano la posizione corrente del runner numero 25 nel numero di gara 3.

In questo modo, la stessa funzione può essere usata in modo diverso nella cartella di lavoro per recuperare dati diversi dallo stesso server, che vengono aggiornati automaticamente.

Wrapper per semplificare l'uso

La funzione RTD può essere usata all'interno di funzioni definite dall'utente in Microsoft Visual Basic, Applications Edition. Questi diventano quindi wrapper per la funzione RTD. Questo approccio può essere utile per proteggere gli utenti dai dettagli del nome del server RTD e progID e per consentire loro di concentrarsi solo sui dati importanti per loro.

Ad esempio, nello scenario precedente, all'utente potrebbero essere fornite due funzioni: GetTime(RunnerID) e GetPosition(RunnerID). Queste funzioni presuppongono che l'utente abbia sempre a che fare con lo stesso server e lo stesso numero di gara. Pertanto, l'utente deve specificare solo l'ID di un runner per ricevere i dati correnti rispettivamente sull'ora e sulla posizione trascorsi del runner.

Calcolo

Poiché rtd aggiorna i dati quando Excel è inattivo, continua a ricevere informazioni se Excel è in modalità di calcolo manuale. In questo caso, i nuovi dati vengono memorizzati nella cache e i valori correnti vengono usati quando viene eseguito un calcolo manuale.

Sicurezza

I server RTD devono essere firmati digitalmente. Se un server RTD non è firmato digitalmente, il server potrebbe non essere caricato e nelle celle che fanno riferimento al server RTD verrà visualizzato un #N/A .

Per Microsoft Office Excel 2007, è possibile esaminare le impostazioni di sicurezza usando il Centro protezione. È possibile accedervi dalla scheda Centro protezione della finestra di dialogo Opzioni di Excel .

Per Microsoft Office Excel 2003 e Microsoft Excel 2002, il comportamento di caricamento può essere modificato modificando le impostazioni di sicurezza delle macro in Excel.

Riferimenti

Per altre informazioni sulla sicurezza rtd ed Excel, vedere Come configurare e usare la funzione RTD in Excel.

Per altre informazioni sulla creazione di un server RTD, vedere Come creare un server RealTimeData per Excel.