【发布时间】:2018-05-17 10:34:08
【问题描述】:
我在关闭 Excel 文件时遇到了一些问题。我正在做一个程序,它可以打开一些 Excel 文件,使用这些信息然后关闭它们。
我尝试了一些不同的代码,但它们不起作用,因为EXCEL 进程仍在运行。
我的第一个代码:
Dim aplicacaoexcel As New Excel.Application
Dim livroexcel As Object
Dim folhaexcel As Excel.Worksheet
livroexcel = aplicacaoexcel.Workbooks.Open("C:\Users\LPO1BRG\Desktop\Software Fiabilidade\Tecnicos.xlsx", UpdateLinks:=False, ReadOnly:=False, Password:="qmm7", WriteResPassword:="qmm7")
folhaexcel = livroexcel.sheets("Folha1")
aplicacaoexcel.DisplayAlerts = False
aplicacaoexcel.Visible = False
folhaexcel = Nothing
livroexcel.Close()
livroexcel = Nothing
aplicacaoexcel.Quit()
aplicacaoexcel = Nothing
然后我添加了这个:System.GC.Collect(),但它仍然没有关闭 Excel 进程。
现在我正在尝试这个:
Dim process() As Process = system.Diagnostics.Process.GetProcessesByName("EXCEL")
For Each p As Process In process
p.Kill()
Next
实际上,这个可以工作,但它会关闭所有 Excel 文件(即使是那些没有被我的程序打开的文件)。
如何仅关闭程序打开的 Excel 文件? :)
【问题讨论】:
-
您是否尝试关闭所有工作簿并重新打开工作簿?
标签: excel vb.net office-interop close-application