예. 파일 열기 코드 주변에 오류 처리를 넣습니다. 같은 :
on error goto FileError
'file opening code
on error goto 0
exit sub
FileError:
msgbox("Could not process request. Please wait a few seconds and try again")
기본적으로의 OnError은 오류의 경우에 지정 무엇이든 할 수있는 그 진술 후 모든 것을 알려줍니다. 이 경우 onError
처리가 중지되고 FileError
이라고 표시된 행으로 이동 한 후에 오류가 발생하면 goto FileError
을 입력했습니다.
OnError goto 0
은 오류 핸들을 비활성화합니다. 그런 식으로 다른 코드가 오류를 생성하면 FileError
핸들에 의해 처리되지 않을 것입니다. onerror의 다른 옵션은 OnError Resume Next
이며 프로그램이 오류를 생성하는 코드를 건너 뜁니다. 그래서 그것은 오류를 던지지 않을 것이며, 그것은 처리를 계속할 것입니다.
FileError
레이블 앞에 Exit Sub
레이블이 있습니다. 오류가 발생하여 코드가 전송되지 않는 한 코드는 FileError 레이블로 이동하지 않습니다.
[이 도움말 (http://stackoverflow.com/questions/9373082/detect-whether-excel-workbook-is-already-open-using-vba/9373914#9373914)을 통해 도움을 얻을 수 있습니다. –
예 있습니다. 우리가 도울 수있는 몇 가지 코드를 보여주십시오. –
이미 열 때 문제가 발생하지 않습니다. 그것은 두 명의 다른 사람들이 정확히 같은 시간에 열려고 할 때입니다. 벌어지고있는 충돌이 있습니다. – Josh