2010-05-12 198 views
1

互动与Excel在PowerShell中进行交互,通常开始一个新的Excel如下:PowerShell和打开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 

有没有办法与这个特定的Excel进程在PS互动?

回答

4

您要使用的Marshal.GetActiveObject方法例如为:

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