Latencia entre datos recibidos a través de Excel RTD y "Datos originales"

Latencia entre datos recibidos a través de Excel RTD y "Datos originales"

Tengo un programa comercial (software) que se conecta a Excel (a través de Excel RTD) para mostrar los precios en tiempo real en mi hoja. (También hago algunos cálculos). Pero, por razones que ignoro por completo, y no siempre pero sí muy a menudo, el precio que veo en mi hoja tiene cierto retraso en comparación con el precio que veo en mi software. En ocasiones, la latencia de los precios mostrados en Excel puede ser de hasta varios minutos. Como se supone que Excel RTD proporciona datos en tiempo real, parece que almacena los datos en algún lugar cuando hay demasiada información. Cuando desactivo el vínculo entre Excel y mi software, los precios se siguen actualizando en mi hoja por unos momentos (estos "pocos momentos" son iguales a la latencia entre Excel y el software).

¡Esto es realmente molesto porque no sé por qué Excel RTD me da los precios con tanta demora! Mi hoja tiene menos de 300 celdas llenas, lo cual, en mi opinión, es absolutamente nada. Por supuesto, mi límite de aceleración de Excel está establecido en 0 para poder obtener cada actualización. También cambié mi archivo de a .xlsxa .xlsb, pero nada cambió aparte del tamaño del archivo.

Realmente parece que Excel está almacenando los datos en alguna parte, pero no quiero que esto suceda; Quiero datos en tiempo real.

  • Usando la última versión de Office -

¿Lo que está sucediendo? ¿Cómo puedo obtener mis datos en Excel en tiempo real?

Respuesta1

Tal vez podría considerar ajustar el acelerador de intervalo RTD en Microsoft Excel para establecer el intervalo de aceleración más alto a través del modelo de objetos de Excel:

  1. En Excel, vaya al Editor de Visual Basic (presionando ALT+F11 o haciendo clic en Editor de Visual Basic en el Macromenú (menú Herramientas)).
  2. En la ventana Inmediato (presione CTRL+G o haga clic en Ventana Inmediato en el menú Ver), escriba este código: Application.RTD.ThrottleInterval = 1000
  3. Asegúrese de que el cursor esté en la línea que acaba de escribir y luego presione ENTRAR.
  4. Para verificar que esté configurado correctamente, escriba esta línea de código if en la ventana Inmediato: ?Application.RTD.ThrottleInterval
  5. Si coloca el cursor al final de esta línea y presiona ENTER, debería mostrar 1000. Entonces sabrá que su intervalo de aceleración está configurado correctamente.

Revise este artículo para ver si le ayuda: https://docs.microsoft.com/en-us/previous-versions/office/developer/office-xp/aa140060(v=office.10)#odc_xlrtdfaq_howconfigrtdthrottle

información relacionada