2017-11-30 8 views
0

Access 데이터베이스에서 Excel 통합 문서로 데이터를 내보내려고합니다. 내보내기가 완료된 후 Excel을 제대로 종료 할 수 없다는 점을 제외하면 모든 것이 올바르게 작동합니다. 코드 실행 후 작업 관리자를 열면 Microsoft Excel의 인스턴스가 항상 백그라운드 프로세스 아래에 나열됩니다. 나는이 문제가 초기 Excel.Application 객체를 생성하고 그것을 닫으려는 것, 또 다른 Excel.Application이 비밀리에 생성되는 것일 수도 있다는 여러 가지 의견을 읽었습니다. 결과적으로 Excel.Application 개체를 만들고 닫는 모든 단계에서 코드를 삭제했습니다. 여전히 같은 결과입니다.Microsoft Access 2016 : Excel.Application 종료

Sub testexcel() 

    Dim xl As Excel.Application 

    Set xl = Excel.Application 

    xl.Quit 

    Set xl = Nothing 

End Sub 

는 내가 제대로 닫 Excel을 얻기 위해 변경해야 할 것에 대한 어떤 제안을 감사하겠습니다 :

내 코드입니다. 감사!

+3

가능한 복제 [이 Excel.Application 개체 .Quit가 EXCEL.EXE 실행을 남긴다] (https://stackoverflow.com/questions/42113082/excel-application-object-quit-leaves-excel-exe-running) –

+0

https://stackoverflow.com/questions/17777545/closing-excel-application-process-in-c-sharp-after-data-access와 비슷합니다. –

+0

[이 답변] (https://stackoverflow.com/a/46082446/7296893)도 사용할 수 있습니다. –

답변

0

당신은 '내 Access 데이터베이스에서 데이터를 내보내려고 시도하고 있습니다'라고 말하면서 어떻게 - 어떻게 쓰는지는 알 수 없으며이를 수행하는 방법은 여러 가지가 있습니다.

액세스 리본의 외부 탭에는 내보내기 기능이 있습니다. 화면에서 데이터 세트 (테이블 또는 쿼리)를 연 다음이 기능을 사용하여 수동으로 내보내기를 수행하면 Excel 응용 프로그램이 전혀 열리지 않습니다. 이 접근법을 통해 건강을 점검 했습니까?

0

대신 CreateObject("Excel.Application")을 사용하십시오.

Sub testexcel() 

    Dim xl As Excel.Application 

    Set xl = CreateObject("Excel.Application") 

    Stop ' so you can see in Task Manager/Process Explorer that EXCEL.EXE is there 

    xl.Quit 
    Set xl = Nothing 
    ' and it's gone 

End Sub