2012-12-10 4 views
0

C#의 응용 프로그램에서 Excel 보고서를 생성 중입니다. 사용자가보기 위해 Excel 파일을 열고 싶습니다. 나중에 수정할 수 있습니다.C#에서 Excel 응용 프로그램을 정상적으로 닫습니다.

그러나 사용자가 Excel 응용 프로그램을 닫으면 EXCEL.EXE 프로세스가 여전히 프로세스로 실행 중이며 TaskManager에 표시됩니다.

나는 포럼을 찾고 있었는데 엑셀이 참조한 모든 객체를 ReleaseComObject(object)을 통해 풀어 내야 할 것으로 보인다.

그러나 모든 개체를 프로그래밍 방식으로 닫고 싶지는 않지만이 컨트롤을 사용자에게 제공하고 싶습니다. 따라서 사용자가 Excel 파일을 닫을 때 Excel에서 참조하는 모든 개체를 닫거나 해제 할 수 있습니까?

이 방향에서 문제를 해결하기위한 조언이나 조언은 많은 도움이 될 것입니다.

감사

+2

ReleaseComObject()에 관해서는 아무 것도 없습니다. Excel에 대해 걱정하지 마시고 즉시 종료하십시오. 프로그램에서 유용한 작업을 계속하면 가비지 컬렉터가 작업을 수행하고 * 모든 * 객체를 처리합니다. 결국. –

답변

1

한 가지 방법은이 answer처럼 통합 문서를 열 직후 모든 핸들을 해제하는 것입니다.

다른 방법은 System.Diagnostics.Process.Start 메서드를 사용하고 생성 한 파일을 여는 것입니다. Process.Start를 사용하여 Word 문서를 여는 방법에 대한 간단한 예제는 here입니다.

관련 문제