문제

나는 다음과 같은 지침을 만드는 방법에 새로운 VBA 절차에 액세스합니다.하나의 사양은 사용하는 표준 ExitProc-오류를 처리합니다.전에는 ment 하지만 나는 예로 온라인 및 이전에 완료한 예 공급 템플릿으로,나이:

On Error GoTo HandleError
'code that may cause errors

ExitProc:
Exit Function
HandleError:
If FindFolders = False Then
    MsgBox ("Required folders for " & InstrumentName & " not found")
ElseIf FindFolderPaths = False Then
    MsgBox ("Required folder paths for " & InstrumentName & " not found")
End If

MsgBox Err.Number & " " & Err.Description & " in FindFolderPaths"
Resume ExitProc
End Function

findfolders 은 boolean 변수 내가 거짓으로 표시하는 절차에 오류가 있음을 나타내고 FindFolderPaths 이름은 절차의 내용으로 표시 여부의 경로는 발견했다.을 실행할 때 이 절차는 다음과 같은 msg 상자가 나타납니다.내가 만들에 오류가 폴더 이름을 표시하는 방법 오류 처리 될 수 있:

-필요에 대한 폴더 ICPMS 발견되지 않았

-0 에 FindFolderPaths

-필요에 대한 폴더 ICPMS 발견되지 않았

-20 하지 않고 이력서에 오류가 FindFolderPaths

때 나는 강화 절차를 통해 단계별로처럼 보이는 그것의 반복을 통해 HandleError 하기 전에 두 번가 ExitProc 과할 수 없습니다.또한 오류 메시지가 동시에 변화의 두 번째는 루프에서 HandleError 는 이상한 일이다.

도움이 되었습니까?

해결책

문제 것 같다는"잘못 사용하는 오류"핸들러를 호출하여 사용하는 방법으로 직접 코드를 사용하여 Goto HandleError 대신 그것은 자동으로 호출할 때 오류가 발생합니다.

이 설명할 것이 정확히 무엇을 보고서 출력되었다면 코드에 달렸다:

-Required folders for ICPMS not found  'shows regardless of what triggers the handler
-0 in FindFolderPaths                  'err number of zero means there's no error

Resume Exit Proc 다음 트리거 오류,부르는 코드가 두 번째 시간

-Required folders for ICPMS not found        'not relevant here...
-20 Resume without Error in FindFolderPaths  'an actual error number and message

일반적으로있는 경우의 일부 조건을 테스트할 수 있습니다(예:누락된 폴더에)당신은 필요가 없는 손잡이를 호출하여는 오류를 표시할 수 있습에서 메시지의"일반"코드고 그냥 Exit function.또한,인상을 사용하여 사용자정의 오류 Err.Raise, 을 제공,그것은 특정 오류 번호 및 설명할 수 있는 테스트하고 적절하게 처리하는 오류 처리기입니다.

http://msdn.microsoft.com/en-us/library/office/aa164019(v=office.10).aspx#odc_tentipsvba_topic3

다른 팁

RESUT EXITPROC을 제거합니다.코드는 끝 기능을 히지면 기능을 남깁니다.또한 MsgBox를 호출 할 때 괄호를 제거해야합니다.MsgBox와 동일한 것을 설정할 때만 괄호를 사용하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top