2013-07-26 4 views
0

많은 ActiveX 요소가 포함 된 Excel 시트를 개발 중입니다. UserForm을 사용하지 않고 activeX 버튼을 누르면 모든 데이터가로드됩니다.VBA 코드 모듈을 재설정 할 때 이벤트가 발생합니까?

이 시점에서 다양한 작업이 수행되는 숨겨진 엑셀 앱이 만들어집니다.

이 새로운 앱은 제공된 ActiveX 컨트롤을 사용하여 사용자가 프런트 엔드에서 수행하는 작업을 기반으로 다른 데이터 등과 결합됩니다.

모든 문제가 메모리에서 모두 해제되는 "프로젝트가 재설정되었습니다"라는 문제가 발생합니다. 사용자 폼이라면 "종결"이벤트를 구현했을 것입니다.이 이벤트는 내가 사용했던 모든 통합 문서를 숨기고, 기본적으로 스스로를 정리합니다.

그러나 이것은 userform이 아니며 "프로젝트가 재설정되었습니다"(내가 아는 한) 감지 할 수있는 방법이 없으므로 내가 만든 숨겨진 Excel 응용 프로그램이 열려 있지만 아무 것도 가리 키지 않습니다.

작업 관리자로 이동하면 다양한 "EXCEL.EXE"가 표시되며 그 수는 기본적으로 도구를 실행 한 횟수입니다.

그래서 VBA가 "프로젝트를 중지하려고합니다"라는 것을 감지 할 수있는 방법이 있습니까? 예를 들어 사용자 서식에 대해 "종료"가되어 있으므로 사용하지 않은 내용을 삭제하고 스프레드 시트의 요소를 다시 설정할 수 있습니까?

감사합니다.

+1

코드의 일부가 없어도 도움이되지 않습니다. 당신은 엑셀 인스턴스를 만들므로 그것을 닫는 것이 가능할 것이라고 기대합니다 ... 그래서 당신이 가지고있는 코드를 보여주세요. –

답변

0

나는 이것을 잡을 수있는 이벤트가 없다는 것을 발견했다.

가장 좋은 방법은 내가 정의한 모든 전역 변수와 객체를 "보유"할 숨겨진 userform 객체를 만드는 것입니다. 그런 다음 UserForm_Deactivate 이벤트를 구현하면 양식이 종료되고 나 자신을 정리할 때 걸릴 수 있습니다.