【发布时间】:2016-11-25 01:09:19
【问题描述】:
我正在从 powershell 启动工作簿中的宏(以自动化流程)。 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
标签: vba excel powershell