SaveAs失败/流程未删除

时间:2016-01-06 21:00:25

标签: excel powershell

我发现了很多关于如何保存Excel并安全地关闭过程的文章,但是电子表格仍然没有保存Excel过程。

对此事的任何想法都将不胜感激。

$file = "C:\temp\testexcel.xls"
$objExcel = New-Object -ComObject Excel.Application
$objExcel.Visible = $true
$objExcel.DisplayAlerts = $false
$WorkBook = $objExcel.Workbooks.Open("$file")
$workbook.SaveAs("$file")

$workbook.Close($true)
$objExcel.quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($objExcel)
Remove-Variable objExcel

1 个答案:

答案 0 :(得分:1)

将工作簿另存为另一个文件时指定file format

$workbook.SaveAs($file, -4143)

如果您只想保存文件,请使用Save(),而不是SaveAs()

$workbook.Save()

此外,在释放COM对象后运行垃圾回收器:

[Runtime.Interopservices.Marshal]::ReleaseComObject($objExcel)
Remove-Variable objExcel
[GC]::Collect()
[GC]::WaitForPendingFinalizers()