2012-11-13 4 views
1

microsoft.office.interop.excel을 사용하여 Excel 파일을 만들 때 나는 항상 quit 명령을 끝에 호출합니다. 그러나 Windows 작업 관리자의 프로세스 목록을 살펴보면 그 프로세스가 여전히 존재한다는 것을 분명히 알 수 있으며 잠시 후 많은 작업이 끝납니다.microsoft.office.interop.excel이 프로세스 목록에 있습니다.

정상적인 경우에는별로 문제가되지 않지만 나는 매번 이런 일이 발생하지 않도록하고 싶습니다.

이렇게 할 방법이 있습니까?

그 중 일부는 실제로 응용 프로그램이 실행될 수 있기 때문에 모든 Excel 프로세스를 종료 할 수는 없으며 두 프로세스 간의 차이점을 실제로 알 수는 없습니다.

감사합니다.

+3

아마 이미 물어보십시오 : http://stackoverflow.com/questions/158706/how-to-properly-clean-up-excel-interop-objects – NeverHopeless

+0

맞아. 나는 그것을 닫을 것이다. –

+0

나는 비슷한 질문을했다. - http://stackoverflow.com/questions/12916137/best-way-to-release-excel-interop-com-object - 희망이 도움이됩니다. 그것을 도울 수 있다면 –

답변

3

악명 높은 가해자 (자동화)! 프로세스를 완전히 닫으려면 모든 Word 및 Excel 개체에 대해 Marshal.FinalReleaseComObject({com object})을 호출하십시오.

+0

여전히 시행하라고 요구 않음 "아니오 2 도트 "규칙? –

+0

이 메소드는 루프에서 ReleaseComObject를 호출 할 때와 동일합니다 (0 = 0). 한 번에 쇼핑하십시오! 열기, 사용, 종료, 마샬. 최후 ... 그리고 GC는 필요 없습니다. 콜렉트. 나는 이것을 광범위하게 시험했다. – OneFineDay

관련 문제