Excel 강제 종료를 자동화 한 다음 다시 시작하는 방법은 무엇입니까?

Yugmorf

일부 장기 실행 VBA 코드 (하루 24 시간 실행)를 수행하는 동안 가끔 Excel이 중단되거나 충돌하며 Excel을 프로그래밍 방식으로 다시 시작하는 방법을 검토하고 있습니다. 이에 대해 최선의 방법에 대한 조언을 주시면 감사하겠습니다.

내가 가진 한 가지 아이디어는 '이벤트 이름 : APPCRASH'및 '오류있는 애플리케이션 EXCEL.EXE'와 같은 Windows 로깅 오류 이벤트에 의해 잠재적으로 트리거 될 수있는 dotnet 앱을 작성하는 것이지만 이것이 가능한지 모르겠습니다. / 합리적인 방법입니다.

현명한 접근 방식이라면 앱이 잠재적으로 다음 작업을 수행 할 수 있다고 생각합니다.

1) "문제에 대한 자세한 정보를 보내시겠습니까?", "Microsoft Excel이 작동을 멈췄습니다"또는 "Microsoft Excel에서 정보를 복구하려고합니다."와 같은 모든 Windows 오류 팝업 상자를 자동으로 닫거나 취소합니다.

2) 아직 열려있는 경우 Excel을 강제 종료하고 (예 : 중단 된 경우), 모든 excel.exe 프로세스를 종료합니다.

3) Excel 다시 시작

그런 앱을 dotnet에서 작성할 수 있습니까? 추가 정보를 찾으려면 어떤 참조 / 태그를 찾아야합니까?

고마워, 유그

Yugmorf

파헤친 후 다음 해결책을 모았습니다. 아래의 vbs 코드는 모든 미해결 excel.exe 프로세스를 taskkill 한 다음 명시된 Excel 파일을 엽니 다 (워크 시트 _open 이벤트에서 vba 코드를 자동으로 다시 시작할 수 있음).

1) Windows 오류보고 끄기 : 시작, '문제 보고서 및 솔루션'검색, 설정 변경, 고급 설정, 문제보고 끄기

2) Excel에 대한 자동 복구 비활성화 : 해당 WB 내에서 클릭; 파일, 옵션, 저장,이 WB에 대해서만 파일 복구 비활성화

3) Windows 이벤트 뷰어, 응용 프로그램 로그에서 오류 (faulting excel app)를 강조 표시하고 '기본 작업 만들기'를 마우스 오른쪽 단추로 클릭 한 다음 응용 프로그램 / 스크립트를 실행하고 4에서 선택한 파일 이름을 입력합니다.

4) 다음 코드를 텍스트 파일에 붙여넣고 vbScript 파일 (.vbs)로 저장합니다.

Option Explicit

KillProcesses
ExcelRestart

Sub ExcelRestart()    
  Dim xlApp 
  Dim xlBook 
  Set xlApp = CreateObject("Excel.Application") 
  xlApp.DisplayAlerts = False  
  Set xlBook = xlApp.Workbooks.Open("C:\...\test.xlsx")
  xlApp.visible = True 
  xlBook.activate
  Set xlBook = Nothing
  Set xlApp = Nothing
End sub

Sub KillProcesses
  On error resume next
  Dim objWMIService, WshShell
  Dim proc, procList
  Dim strComputer, strCommand
  strCommand = "taskkill /F /IM excel.exe"   
  strComputer = "."
  Set WshShell = WScript.CreateObject("WScript.Shell") 
  Set objWMIService = GetObject("winmgmts:"& "{impersonationLevel=impersonate}!\\"& strComputer & "\root\cimv2")
  Set procList = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'excel.exe'")
  For Each proc In procList
      WshShell.run strCommand, 0, TRUE
  Next

End sub

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

정상 종료를 시도한 다음 강제 종료하는 방법은 무엇입니까?

분류에서Dev

사용자가 강제 종료 한 후 서비스를 다시 시작하는 방법

분류에서Dev

제한 시간에 도달하자마자 TestNG 메서드를 종료하는 방법은 무엇입니까?

분류에서Dev

다시 시작 관리자를 사용하여 Inno Setup 제거에서 explorer.exe를 닫은 다음 다시 시작하는 방법은 무엇입니까?

분류에서Dev

자식 프로세스가 다른 자식 프로세스를 종료 한 다음 종료하는 방법은 무엇입니까?

분류에서Dev

종료 후 명령을 자동으로 다시 시작하는 방법은 무엇입니까?

분류에서Dev

작업을 다시 시작하기 위해 비행 중 스레드를 종료하는 적절한 방법은 무엇입니까?

분류에서Dev

Excel : 범위의 각 셀에 숫자를 더한 다음 함께 곱하는 방법은 무엇입니까?

분류에서Dev

tmux는 강제 종료 후 자동으로 세션에 다시 연결하고 다시 시작합니다.

분류에서Dev

Android UI를 강제로 다시 그리는 방법은 무엇입니까?

분류에서Dev

제한된 시간 동안 bash 스크립트를 실행하지만 프로세스를 즉시 종료하지 않는 방법은 무엇입니까?

분류에서Dev

URL을 리디렉션 한 다음 htaccess를 사용하여 동일한 URL로 다시 작성하는 방법은 무엇입니까?

분류에서Dev

Powershell IDE : Powershell ISE를 종료하지 않고 모든 변수를 지우기 위해 대화 형 셸을 다시 시작하는 방법은 무엇입니까?

분류에서Dev

스크립트 종료 시간을 사용하고 동일한 스크립트를 다시 실행할 때 시작 시간으로 사용하는 방법은 무엇입니까?

분류에서Dev

중복을 검색 한 다음 Excel (이 경우 워크 시트)처럼 데이터 프레임에서 강조 표시하는 방법은 무엇입니까?

분류에서Dev

사용자 작업을 기록한 다음 JavaScript에서 다시 실행하는 방법은 무엇입니까?

분류에서Dev

신속한 3 구문으로 다음 for 루프를 다시 작성하는 방법은 무엇입니까?

분류에서Dev

Swift의 UIViewController에서 동일한 코드를 다시 작성하지 않는 방법은 무엇입니까?

분류에서Dev

SKProductsRequest와 같은 ARC 모드에서 자기를 유지하는 방법, 시작 방법에서 자기를 유지 한 다음 응답이 돌아온 후 해제하는 방법은 무엇입니까?

분류에서Dev

Windows 10에서 종료 할 때 exe를 다시 시작하는 방법은 무엇입니까?

분류에서Dev

Firefox가 강제 종료시 상태를 저장하지 않도록하는 방법은 무엇입니까?

분류에서Dev

Excel에서 특정 행에 특정 값이 있는지 확인한 다음 강조 표시하는 방법은 무엇입니까?

분류에서Dev

사용자가 앱을 종료 할 때 위치 업데이트를 다시 시작하는 방법은 무엇입니까?

분류에서Dev

절전 모드에서 다시 시작한 후 모든 대화 상자의 색 테두리를 방지하는 방법은 무엇입니까?

분류에서Dev

재개하는 대신 메인 루프를 다시 시작하도록 인터럽트를 강제하는 방법은 무엇입니까? (타이밍 문제!)

분류에서Dev

시작시 "startx"를 강제하는 방법은 무엇입니까?

분류에서Dev

캘린더에서 이벤트를 자동으로 삭제 한 후 종료 시간을 얻는 방법은 무엇입니까?

분류에서Dev

프록시 서버로 작동하고 들어오는 요청을 수정 한 다음 NodeJS에서이를 인식하는 방법은 무엇입니까?

분류에서Dev

제한된 "시스템 활동"대신 ksysguard를 시작하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    정상 종료를 시도한 다음 강제 종료하는 방법은 무엇입니까?

  2. 2

    사용자가 강제 종료 한 후 서비스를 다시 시작하는 방법

  3. 3

    제한 시간에 도달하자마자 TestNG 메서드를 종료하는 방법은 무엇입니까?

  4. 4

    다시 시작 관리자를 사용하여 Inno Setup 제거에서 explorer.exe를 닫은 다음 다시 시작하는 방법은 무엇입니까?

  5. 5

    자식 프로세스가 다른 자식 프로세스를 종료 한 다음 종료하는 방법은 무엇입니까?

  6. 6

    종료 후 명령을 자동으로 다시 시작하는 방법은 무엇입니까?

  7. 7

    작업을 다시 시작하기 위해 비행 중 스레드를 종료하는 적절한 방법은 무엇입니까?

  8. 8

    Excel : 범위의 각 셀에 숫자를 더한 다음 함께 곱하는 방법은 무엇입니까?

  9. 9

    tmux는 강제 종료 후 자동으로 세션에 다시 연결하고 다시 시작합니다.

  10. 10

    Android UI를 강제로 다시 그리는 방법은 무엇입니까?

  11. 11

    제한된 시간 동안 bash 스크립트를 실행하지만 프로세스를 즉시 종료하지 않는 방법은 무엇입니까?

  12. 12

    URL을 리디렉션 한 다음 htaccess를 사용하여 동일한 URL로 다시 작성하는 방법은 무엇입니까?

  13. 13

    Powershell IDE : Powershell ISE를 종료하지 않고 모든 변수를 지우기 위해 대화 형 셸을 다시 시작하는 방법은 무엇입니까?

  14. 14

    스크립트 종료 시간을 사용하고 동일한 스크립트를 다시 실행할 때 시작 시간으로 사용하는 방법은 무엇입니까?

  15. 15

    중복을 검색 한 다음 Excel (이 경우 워크 시트)처럼 데이터 프레임에서 강조 표시하는 방법은 무엇입니까?

  16. 16

    사용자 작업을 기록한 다음 JavaScript에서 다시 실행하는 방법은 무엇입니까?

  17. 17

    신속한 3 구문으로 다음 for 루프를 다시 작성하는 방법은 무엇입니까?

  18. 18

    Swift의 UIViewController에서 동일한 코드를 다시 작성하지 않는 방법은 무엇입니까?

  19. 19

    SKProductsRequest와 같은 ARC 모드에서 자기를 유지하는 방법, 시작 방법에서 자기를 유지 한 다음 응답이 돌아온 후 해제하는 방법은 무엇입니까?

  20. 20

    Windows 10에서 종료 할 때 exe를 다시 시작하는 방법은 무엇입니까?

  21. 21

    Firefox가 강제 종료시 상태를 저장하지 않도록하는 방법은 무엇입니까?

  22. 22

    Excel에서 특정 행에 특정 값이 있는지 확인한 다음 강조 표시하는 방법은 무엇입니까?

  23. 23

    사용자가 앱을 종료 할 때 위치 업데이트를 다시 시작하는 방법은 무엇입니까?

  24. 24

    절전 모드에서 다시 시작한 후 모든 대화 상자의 색 테두리를 방지하는 방법은 무엇입니까?

  25. 25

    재개하는 대신 메인 루프를 다시 시작하도록 인터럽트를 강제하는 방법은 무엇입니까? (타이밍 문제!)

  26. 26

    시작시 "startx"를 강제하는 방법은 무엇입니까?

  27. 27

    캘린더에서 이벤트를 자동으로 삭제 한 후 종료 시간을 얻는 방법은 무엇입니까?

  28. 28

    프록시 서버로 작동하고 들어오는 요청을 수정 한 다음 NodeJS에서이를 인식하는 방법은 무엇입니까?

  29. 29

    제한된 "시스템 활동"대신 ksysguard를 시작하는 방법은 무엇입니까?

뜨겁다태그

보관