2017-11-15 1 views
1

숨겨진 Excel 프로세스를 시작하고, 위치 ("fileToOpen")에서 Excel 파일을로드하고, 파일로 무언가를 수행 한 다음 닫으려고하는이 테스트 코드가 있습니다. 파일을 열고 마지막으로 Excel 프로세스를 닫습니다. 나는 엑셀 프로세스가 파일을 공유 지점에서로드되는 excelapp.Quit 후 살아 남아 있지만 파일을 로컬 드라이브에서로드 될 때 살해 어떤 이유로Excel 2016 : Excel에서 파일을 열고 닫습니다.

Sub test() 
    Dim excelapp As Object 
    Dim wbk As Workbook 

    Set excelapp = CreateObject("excel.Application") 
    excelapp.Visible = True 

    On Error GoTo error_handler 

    Set wbk = excelapp.Workbooks.Open(filename:=fileToOpen, ReadOnly:=True) 

    ' Do something 

    wbk.Close SaveChanges:=False 
    excelapp.Quit 
    Set excelapp = Nothing 

    Exit Sub 

error_handler: 
    MsgBox "A problem occurred", vbOKOnly, "Error" 
    excelapp.Quit 
    Set excelapp = Nothing 
End Sub 

엑셀 2016에서 내 테스트를 수행하고있다. 또한 Excel 2010에서도 정상적으로 작동합니다. 즉 Excel 프로세스가 제대로 종료되었습니다.

파일을 읽은 후 파일을 올바르게 닫는 방법에 대한 도움이 필요합니다.

답변

0

한번에 변경이

wbk.Close SaveChanges:=False 
    Application.Quit 
    Application.DisplayAlerts = False 
    Set excelapp = Nothing 

wbk.Close SaveChanges:=False 
    excelapp.Quit 
    Set excelapp = Nothing 

나는 가정이

error_handler: 
    MsgBox "A problem occurred", vbOKOnly, "Error" 
    Application.Quit 
    Application.DisplayAlerts = False 
    Set excelapp = Nothing 
+0

error_handler: MsgBox "A problem occurred", vbOKOnly, "Error" excelapp.Quit Set excelapp = Nothing 

'Application.Quit' 및'Application.DisplayAlerts = False' 대신'excelapp.Quit'과'excelapp.DisplayAlerts = False'를 의미합니까? 동일한 Excel 응용 프로그램이 아니기 때문에 코드를 실행하는 데 사용하고있는 코드를 닫으려고합니다. 코드에서 이전에 만든 코드입니다. 그럼에도 불구하고 불행히도 도움이되지 않았습니다. Excel 프로세스는 파일이 SharePoint에서로드 될 때 계속 활성 상태를 유지하고 파일이 로컬로로드되면 강제 종료됩니다. –

+0

아, 미안 그 시점을 놓친 – Leighholling

관련 문제