[VBA] 에러 핸들링
2021. 6. 3. 09:55ㆍVBA
Function 함수이름()
On Error GoTo ErrorHandling
1 에러 나면 넘기고 싶은 부분
2 코딩(왼쪽 숫자는 Error시 알 수 있게 넘버링 한 것)
ErrorHandling:
If Err.Number <> 0 Then
함수이름= Err.Source & "_" & Err.Description & " ErrorLine : (" & Erl & ") / " & Now
'이거는 에러를 어떻게 뱉을지에 따라 수정하면 됨
Else
End If
On Error GoTo 0
End Function
RPA를 하다보면 VBA 코드를 쓸 일이 많아진다.
문제는 Uipath로 invoke VBA를 사용하면 매크로 에러가 발생 하였을 때
Uipath가 그상태로 멈춰버린다는 것이다.
엑셀에서 Alert 창이 뜬 상태로 작업을 중단하지 않고 계속,, Pending 된다
그러면 실제로 엑셀을 꺼주거나 확인 버튼을 눌러주거나 해야 오류로 뱉기 때문에........
아주 문제가 많은 부분이었다. 실제로 엑셀 오류때문에 저녁부터 모든 작업이 밀린 적이 있었다...
그럴땐 새벽에 택시타고오셔서 처리해주시기도 했다...
아무튼 VBA Error 핸들링 부분 때문에 애먹고 있는데 이번에 새로오신 VBA 고수 선임님께
코드를 전수 받았다. 이렇게 하니 매크로 오류가 나도 에러로 떨어져 Uipath에서 에러로 받을 수 있었다.(Output 변수는 Object로)
'VBA' 카테고리의 다른 글
[VBA] 소스 파일에서 복사해서 대상 파일로 붙여넣기 하는 소스 (0) | 2022.03.18 |
---|---|
[VBA] 시트 이름에 단어가 포함되면 이름을 변경하는 소스 (0) | 2021.11.10 |
[VBA] 빈칸이면 윗 값을 쓰는 코드 (0) | 2021.05.27 |
[VBA] 마지막 열 수 알아내는 법 (0) | 2021.05.06 |