기본적으로 다른 컴퓨터에서 업데이트되는 로그인 일종의 상태/대시보드를 표시하도록 설정되어 있습니다. Excel을 통해 다음과 같이 작동합니다.
- 누군가 네트워크 공유에 있는 "Log_Source.xlsx"의 테이블에 데이터를 추가하고 저장합니다.
- 대시보드 컴퓨터(Intel Compute Stick(Windows 10 Home) 및 벽걸이형 모니터)에는 네트워크의 소스 파일에 대한 데이터 연결이 있는 로컬 파일 "Log_Dashboard.xlsx"가 있습니다. 쿼리는 1분마다 새로 고쳐집니다. 이러한 방식으로 대시보드는 편집을 위해 파일을 잠그지 않고도 거의 실시간으로 데이터를 가져와 표시할 수 있습니다.
문제:
며칠에 한 번씩 대시보드에 데이터 소스를 찾을 수 없다는 메시지가 표시됩니다. 그리고 더 이상 데이터를 업데이트하지 않습니다. Log_Dashboard.xlsx를 닫았다가 다시 열면 문제가 해결되지만 이 문제가 발생하지 않도록 하려면 어떻게 해야 합니까?
내가 시도한 것:
- Windows 전원 설정에서: 고성능 계획으로 변경되었습니다. 하드디스크가 절대 꺼지지 않도록 설정하세요. 무선 어댑터를 최대 성능으로 설정합니다.
- 12시간마다 실행되도록 AutoHotKey 스크립트를 예약했습니다. 이 스크립트는 마우스를 앞뒤로 움직입니다. 그것이 문제라면 컴퓨터가 절전 모드로 들어가는 것을 방지할 수 있을 것이라고 생각했습니다.
- 매시간 닫았다가 다시 여는 매크로를 Excel 파일에 추가했습니다. 매번 수동으로 문제를 해결하는 방식이라 그러면 해결될 줄 알았는데 여전히 발생합니다.
어떤 제안이 있으십니까? 또는 이와 같은 대시보드 디스플레이를 설정하는 또 다른 접근 방식이 있다면 기꺼이 그렇게 할 수 있습니다... 감사합니다.
답변1
비슷한 문제가 있는 다른 사람이 나중에 이 문제를 발견할 경우를 대비하여 나에게 도움이 된 방법을 게시하십시오.
데이터 연결이 계속 끊어지는 이유를 알 수 없었습니다. "대시보드" 컴퓨터를 Wi-Fi에 연결된 Intel Compute Stick에서 기존의 이더넷에 연결된 소형 데스크탑으로 전환했습니다. 어느 정도 도움이 되었지만 여전히 "메모리 부족"과 같은 다른 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
이는 단순히 통합 문서를 저장하고 대시보드가 다시 시작된다는 메시지를 표시하는 셸 명령을 실행한 다음(누군가 당시 화면을 보고 있는 경우) Excel 파일이 닫힐 때까지 몇 초간 기다린 후 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
매크로가 호출됩니다. 파일을 닫았다가 다시 열면 주기가 다시 시작됩니다.
이 작업을 수행하는 더 좋은 방법이 있다고 확신하지만 이러한 변경 사항을 구현한 이후 기본적으로 매우 안정적이었습니다.