excel.exe没有退出(vb.net)

时间:2014-08-06 17:12:04

标签: vb.net excel

        Dim oXL As Object
        Dim oWB As Object
        Dim oSheet As Object
        ' Start Excel and get Application object.
        oXL = CreateObject("Excel.Application")
        oXL.Visible = True
        ' Get a new workbook.
        oWB = oXL.Workbooks.Add
        oSheet = oWB.ActiveSheet
        .........
        oXL.Quit()
        oWB = Nothing
        oXL = Nothing
        oSheet = Nothing

我可以在任务管理器中看到应用程序打开...为什么?

3 个答案:

答案 0 :(得分:0)

你需要做@Afnan Makhdoom所说的话,但不仅仅是他说你还需要打电话......

 GC.Collect()

这将清除正在使用的对象,并将其从任务管理器中删除。只是释放对象不会从任务管理器中删除它,你需要强制垃圾收集器。

答案 1 :(得分:0)

尝试此操作以便在打开excel文件后删除任务管理器进程:

 Dim proc As System.Diagnostics.Process

        For Each proc In System.Diagnostics.Process.GetProcessesByName("EXCEL")
            proc.Kill()
 Next

答案 2 :(得分:-1)

您需要做的是首先释放对象,它肯定会退出Excel.exe

oSheet.Close(False)
oXL.Quit()
releaseObject(oXL)
releaseObject(oWB)
releaseObject(oSheet)
oWB = Nothing
oXL = Nothing
oSheet = Nothing