La conexión de datos del Panel de Excel se cae

La conexión de datos del Panel de Excel se cae

Tengo una configuración para mostrar una especie de estado/panel de control, esencialmente un registro que se actualiza desde otra computadora. Funciona a través de Excel, así:

  • Alguien agrega datos a una tabla en "Log_Source.xlsx" que se encuentra en un recurso compartido de red y los guarda.
  • La computadora del tablero (que es un Intel Compute Stick (Windows 10 Home) y un monitor montado en la pared) tiene un archivo local, "Log_Dashboard.xlsx" con una conexión de datos al archivo fuente en la red. La consulta se actualiza cada minuto. De esta manera, el panel puede extraer y mostrar los datos, casi en tiempo real, sin bloquear el archivo para editarlo.

El problema:

Cada pocos días, recibiré un mensaje en el panel indicando que no se pudo encontrar la fuente de datos. Y ya no actualizará los datos. Cerrar y volver a abrir Log_Dashboard.xlsx soluciona el problema, pero ¿cómo puedo evitar que esto ocurra?

Lo que he probado:

  • En la configuración de energía de Windows: cambiado al plan de alto rendimiento. Configure el disco duro para que nunca se apague. Configure el adaptador inalámbrico al máximo rendimiento.
  • Programé un script AutoHotKey para que se ejecute cada 12 horas, que simplemente mueve el mouse hacia adelante y hacia atrás. Pensé que eso podría evitar que la computadora entre en estado de suspensión, si ese fuera el problema.
  • Se agregó una macro al archivo de Excel que lo cierra y lo vuelve a abrir cada hora. Dado que así es como soluciono el problema manualmente cada vez, pensé que así se solucionaría, pero todavía está sucediendo.

¿Alguna sugerencia? O si hay otro método para configurar una pantalla de tablero como este, estoy abierto a ello para... Gracias.

Respuesta1

Publicar lo que funcionó para mí en caso de que alguien más con un problema similar se encuentre con esto en el futuro:

Nunca pude determinar por qué la conexión de datos seguía cayendo. Cambié la computadora del "tablero" de un Intel Compute Stick conectado a Wifi a una vieja computadora de escritorio compacta conectada a Ethernet. Eso ayudó un poco, pero todavía experimenté caídas en la conexión de datos, junto con otros errores de Excel, como "Memoria insuficiente".

Aquí está la solución que finalmente funcionó para mí, en mi situación:

Inserté un módulo en el archivo de Excel ("Log_Dashboard.xlsm") con el siguiente código:

Sub WorkbookSaveCycle()

ThisWorkbook.Save
PID = Shell("cmd /k @echo off & echo Restarting Dashboard, please wait... & @echo off & timeout /t 4 /nobreak & ""C:\Program Files (x86)\Microsoft Office\root\Office16\excel.exe"" """ & Application.ActiveWorkbook.FullName & """ & exit", vbMaximizedFocus)
Application.Quit

End Sub

Esto simplemente guarda el libro, ejecuta un comando de shell que muestra un mensaje que indica que el panel se está reiniciando (en caso de que alguien esté mirando la pantalla en ese momento) y luego vuelve a abrir el archivo de Excel después de esperar unos segundos a que se cierre. . ( excel.exeEs posible que sea necesario cambiar la ruta del archivo si se utiliza una versión diferente de Office)

Luego puse esto en el ThisWorkbookmódulo:

Private Sub Workbook_Open()

Application.DisplayFullScreen = True
Application.OnTime Now + TimeValue("00:15:00"), "WorkbookSaveCycle"

End Sub

Cuando se abre el archivo de Excel, esto lo configura en pantalla completa, luego, después de esperar la cantidad de tiempo predefinida (15 minutos aquí), llama a la WorkbookSaveCyclemacro anterior. Lo que simplemente pone el ciclo en marcha nuevamente al cerrar y volver a abrir el archivo.

Estoy seguro de que hay una mejor manera de hacer esto, pero ha sido básicamente estable y sólida desde que se implementaron estos cambios.

información relacionada