我正在從PowerShell的工作簿中啓動宏(以自動化一個進程)。下面的PowerShell打開Excel工作簿,並運行宏而不顯示過程。使用PowerShell關閉Excel應用程序
問題是,即使我沒有看到宏正在運行,從宏中生成的Excel的新實例仍然處於打開狀態。
# start Excel
$excel = New-Object -comobject Excel.Application
#open file
$FilePath = 'C:\file\Book1.xlsm'
$workbook = $excel.Workbooks.Open($FilePath)
#access the Application object and run a macro
$app = $excel.Application
$app.Run("macro")
#close excel
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel)
Start-Sleep 1
'Excel processes: {0}' -f @(Get-Process excel -ea 0).Count
Remove-Variable $excel
exit $LASTEXITCODE
該excel文件仍然作爲一個進程在任務管理器中,並佔用內存空間。
如何讓powershell完全關閉通過宏打開的excel應用程序的實例?
任何幫助,不勝感激!
你也許應該叫book.close/app.quit –