Posting, was für mich funktioniert hat, nur für den Fall, dass jemand anderes mit einem ähnlichen Problem in der Zukunft darauf stolpert:
Ich konnte nie feststellen, warum die Datenverbindung immer mehr abbrach. Ich habe den "Dashboard" -Computer von einem mit Wifi verbundenen Intel Compute Stick zu einem alten, über Ethernet verbundenen, kompakten Desktop umgestellt. Das hat ein bisschen geholfen, aber ich habe immer noch Datenverbindungen getrennt, zusammen mit anderen Excel-Fehlern wie "Nicht genügend Speicher".
Hier ist der Workaround, der in meiner Situation letztendlich für mich funktioniert hat:
Ich habe ein Modul in die Excel-Datei ("Log_Dashboard.xlsm") mit folgendem Code eingefügt:
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
Dadurch wird die Arbeitsmappe einfach gespeichert, es wird ein Shellbefehl ausgeführt, in dem eine Meldung angezeigt wird, dass das Dashboard neu gestartet wird (für den Fall, dass jemand auf den Bildschirm schaut). Anschließend wird die Excel-Datei erneut geöffnet, nachdem einige Sekunden gewartet wurde, bis sie geschlossen wurde . (Der excel.exe
Dateipfad muss möglicherweise geändert werden, wenn eine andere Office-Version verwendet wird.)
Dann stelle ich das in das ThisWorkbook
Modul:
Private Sub Workbook_Open() Application.DisplayFullScreen = True Application.OnTime Now + TimeValue("00:15:00"), "WorkbookSaveCycle" End Sub
Wenn die Excel-Datei geöffnet wird, wird die Vollbildansicht aktiviert. Nach dem Abwarten der vordefinierten Zeit (hier 15 Minuten) wird das obige WorkbookSaveCycle
Makro aufgerufen . Dadurch wird der Zyklus wieder in Gang gesetzt, indem die Datei geschlossen und erneut geöffnet wird.
Ich bin sicher, es gibt einen besseren Weg, dies zu tun, aber seit der Implementierung dieser Änderungen ist es im Grunde absolut stabil.