Excel 仪表板数据连接断开

Excel 仪表板数据连接断开

我有一个设置来显示各种状态/仪表板,本质上是从另一台计算机更新的日志。它通过 Excel 工作,如下所示:

  • 有人将数据添加到位于网络共享上的“Log_Source.xlsx”中的表中,并保存它。
  • 仪表板计算机(英特尔计算棒(Windows 10 家庭版)和壁挂式显示器)有一个本地文件“Log_Dashboard.xlsx”,它与网络上的源文件有数据连接。查询每分钟刷新一次。这样,仪表板就可以几乎实时地提取和显示数据,而无需锁定文件进行编辑。

问题:

每隔几天,我都会在仪表板上收到一条消息,提示无法找到数据源。并且它将不再更新数据。关闭并重新打开 Log_Dashboard.xlsx 可以解决这个问题,但我该如何防止这种情况发生呢?

我尝试过的:

  • 在 Windows 电源设置中:更改为高性能计划。将硬盘设置为永不关闭。将无线适配器设置为最大性能。
  • 安排 AutoHotKey 脚本每 12 小时运行一次,该脚本只会来回移动鼠标。如果这是问题所在,我认为这可能会阻止计算机进入睡眠状态。
  • 在 Excel 文件中添加了一个宏,每小时关闭并重新打开一次。每次我都是这样手动修复这个问题的,我以为这样就可以解决问题了,但问题仍然会发生。

有什么建议吗?或者如果有其他方法来设置这样的仪表板显示,我愿意接受...谢谢。

答案1

发布对我有用的方法,以防其他遇到类似问题的人将来偶然发现这一点:

我一直无法确定数据连接不断中断的原因。我将“仪表盘”计算机从 Wifi 连接的英特尔计算棒换成了旧的以太网连接的紧凑型台式机。这多少有点帮助,但我仍然遇到数据连接中断,以及其他 Excel 错误,例如“内存不足”。

在我的情况下,以下是最终对我有用的解决方法:

我在 Excel 文件(“Log_Dashboard.xlsm”)中插入了一个模块,代码如下:

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

这只是保存工作簿,运行一个 shell 命令,显示仪表板正在重新启动的消息(以防当时有人在看屏幕),然后在等待几秒钟关闭后重新打开 Excel 文件。(excel.exe如果使用不同版本的 Office,可能必须更改文件路径)

然后我把它放入ThisWorkbook模块中:

Private Sub Workbook_Open()

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

End Sub

当 Excel 文件打开时,这会将其设置为全屏,然后在等待预定义的时间(此处为 15 分钟)后,调用上述WorkbookSaveCycle宏。通过关闭并重新打开文件,只需再次启动循环即可。

我确信有更好的方法可以做到这一点,但自从实施这些改变以来,它基本上一直非常稳定。

相关内容