Configuración y uso de la función RTD en Excel

Resumen

Nota:

El rendimiento de la función RealTimeData (RTD) se ha mejorado considerablemente en Excel M365 versión 2002 o posterior. Para obtener más información, vea Mejoras de rendimiento y límites de Excel.

En este artículo se describe la funcionalidad que proporciona la función RealTimeData (RTD). Microsoft Office Excel proporciona una función de hoja de cálculo, RealTimeData (RTD). Esta función permite llamar a un servidor de automatización del modelo de objetos componentes (COM) para recuperar datos en tiempo real.

Cuando tenga que crear un libro que incluya datos actualizados en tiempo real, por ejemplo, datos financieros o datos científicos, ahora puede usar la función de hoja de cálculo RTD. En versiones anteriores de Excel, el intercambio dinámico de datos (DDE) se usa para ese propósito. La función RTD se basa en la tecnología COM y proporciona ventajas en solidez, confiabilidad y comodidad. RTD depende de la disponibilidad de un servidor RTD para que los datos en tiempo real estén disponibles para Excel. Para obtener más información sobre cómo crear un servidor RTD, consulte la sección "Referencias".

La función RTD recupera datos de un servidor RTD para usarlos en el libro. El resultado de la función se actualiza cada vez que los nuevos datos están disponibles en el servidor y el libro puede aceptarlo. El servidor espera hasta que Excel esté inactivo antes de actualizar. Esto libera al desarrollador de tener que determinar si Excel está disponible para aceptar actualizaciones. La función RTD difiere de otras funciones en este sentido porque otras funciones se actualizan solo cuando se vuelve a calcular la hoja de cálculo.

Aunque la función RTD proporciona un vínculo a los datos de un servidor, no es el mismo tipo de vínculo que las referencias a celdas de otras hojas de cálculo o libros. Por ejemplo, si usa la función RTD en un libro, no recibirá el mensaje de inicio Vínculos al abrir el libro ni podrá administrar el estado de una función RTD a través del cuadro de diálogo Editar vínculos.

Sintaxis

La función RTD usa la sintaxis siguiente

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

donde los argumentos de función son los siguientes:

  • RealTimeServerProgID

    Cadena que representa el identificador de programa del servidor RTD instalado en el sistema local. Normalmente, se trata de un complemento COM registrado por un procedimiento de instalación o mediante RegSvr32. RealTimeServerProgID es un argumento necesario.

  • ServerName

    Cadena que representa el nombre del servidor en el que se va a ejecutar el servidor RTD. Si el servidor RTD se ejecuta localmente, ServerName debe ser una cadena vacía ("") o omitirse.

  • Topic1, [Topic2], ...

    Cadenas que determinan los datos que se recuperan. Puede usar de uno a 28 temas, aunque solo se requiere un tema.

Uso de RTD

Como ejemplo de la función RTD, considere la posibilidad de recuperar información de un servidor que proporciona datos continuos para los corredores en varias carreras simultáneas. Supongamos que el servidor se proporciona como una biblioteca de vínculos dinámicos (DLL) denominada RaceReport.dll, que está instalado en el equipo del usuario y que está registrado como complemento COM por su propio proceso de instalación. La forma general de la función RTD como se usa con este servidor puede ser la siguiente:

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

donde los temas RaceNum, RunnerID y StatType determinan la carrera de interés, el corredor cuyos datos son necesarios y el tipo de datos para un uso determinado de la función, respectivamente.

Aquí, el usuario puede seleccionar una celda y escribir la siguiente fórmula en ella.

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

para ver el tiempo transcurrido actual para el corredor número 16 en la carrera número 2. El desarrollador del servidor COM determina el número de temas y la naturaleza de los datos asociados. Por ejemplo, el servidor de informes de carreras podría entregar datos diferentes si usa la siguiente función RTD:

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

En este caso, los datos devueltos indican la posición actual del corredor número 25 en el número de carrera 3.

De esta manera, la misma función se puede usar de forma diferente en todo el libro para recuperar datos diferentes del mismo servidor, todos los cuales se actualizan automáticamente.

Contenedores para simplificar el uso

La función RTD se puede usar dentro de las funciones definidas por el usuario (UDF) en Microsoft Visual Basic para Aplicaciones. A continuación, se convierten en contenedores para la función RTD. Este enfoque puede ser útil para proteger a los usuarios de los detalles del nombre del servidor RTD y ProgID, y para permitirles centrarse solo en los datos que son importantes para ellos.

Por ejemplo, en el escenario anterior, el usuario podría tener dos funciones: GetTime(RunnerID) y GetPosition(RunnerID). Estas funciones suponen que el usuario siempre está tratando con el mismo servidor y número de carrera. Por lo tanto, el usuario solo tiene que especificar el identificador de un ejecutor para recibir los datos actuales sobre el tiempo y la posición transcurridos del ejecutor, respectivamente.

Cálculo

Dado que RTD actualiza los datos cuando Excel está inactivo, sigue recibiendo información si Excel está en modo de cálculo manual. En ese caso, los nuevos datos se almacenan en caché y los valores actuales se usan cuando se realiza un cálculo manual.

Seguridad

Los servidores RTD deben estar firmados digitalmente. Si un servidor RTD no está firmado digitalmente, es posible que el servidor no se cargue y se mostrará un #N/A en las celdas que hacen referencia al servidor RTD.

Para Microsoft Office Excel 2007, puede revisar la configuración de seguridad mediante el Centro de confianza. A esto se puede acceder desde la pestaña Centro de confianza del cuadro de diálogo Opciones de Excel .

Para Microsoft Office Excel 2003 y Microsoft Excel 2002, el comportamiento de carga se puede modificar ajustando la configuración de seguridad de macros en Excel.

Referencias

Para obtener más información sobre la seguridad de RTD y Excel, vea Configuración y uso de la función RTD en Excel.

Para obtener más información sobre cómo crear un servidor RTD, vea Cómo crear un servidor RealTimeData para Excel.