vb.net - 关闭 Excel.exe 进程

标签 vb.net excel

下面的代码有效,但即使我退出 Excel,excel.exe 进程仍然运行。我正在使用 Office 2013 并为 Office.Interop.Excel 引用正确的导入

我错过了什么吗

Sub demo()
    Dim xls As New Excel.Application
    Dim book As Excel.Workbook
    Dim oSheet As Excel.Worksheet
    xls.Workbooks.Open("Test.xlsx")
    book = xls.ActiveWorkbook
    oSheet = book.ActiveSheet   

    oSheet.Cells(1, 2).Value = "testing"

    book.Save()
    book.Close()
    xls.Workbooks.Close()
    xls.Quit()

    System.Runtime.InteropServices.Marshal.ReleaseComObject(oSheet)
    System.Runtime.InteropServices.Marshal.ReleaseComObject(book)
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xls)
    oSheet = Nothing
    book = Nothing
    xls = Nothing
    GC.Collect()
End Sub

最佳答案

如果您仍然遇到问题,您是否尝试过终止该进程?

 Process[] procs = Process.GetProcessesByName("name");
foreach (Process proc in procs)
    proc.Kill();

不确定它是否会按您的意愿工作,但这是一个想法。

关于vb.net - 关闭 Excel.exe 进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31962697/

相关文章:

java - 用Java制作一个彩票程序

.net - 我如何知道 .net 事件是否已被处理?

初始化类时相当于 VB.NET "With"语句的 Java

javascript - 在 Ajax 中获取变量中的复选框值

java - 如何将 Excel 转换为 XML?

excel - 数据透视表无法找到当年 1 月与上年 12 月之间的差异。 Excel 2010

vba - 比较两张纸上的值,突出显示相似之处,运行但不起作用

ruby - roo gem 无法工作(NameError : uninitialized constant Excel)

vb.net - 类型 'String' 的错误值无法转换为 'secure.echosign.com.ArrayOfString'

.net - 以编程方式插入 <br/> 标签 (VB.NET)