Powershell与开放式Excel交互

时间:2010-05-12 14:08:53

标签: excel powershell

要在Powershell中与excel交互,通常会按如下方式启动新的Excel:

$x = New-Object -comobject Excel.Application

而不是我已经有一个开放的Excel流程。 (我得到如下)

$excelprocess = Get-Process | Where-Object {$_.name -eq "excel"} | Sort-Object -Property "Starttime" -descending | Select-Object -First 1

有没有办法通过PS与这个特定的Excel流程进行交互?

1 个答案:

答案 0 :(得分:4)

您想使用Marshal.GetActiveObject方法,例如:

$xl = [Runtime.InteropServices.Marshal]::GetActiveObject('Excel.Application')
$xl.Quit()