PowerShell + Excel – $ workbook.save()挂断了我

我开始在PowerShell上使用Excel,尤其是因为我必须通过138个文件,将每个$B$1实例更改为TEXT($B$1,"0000") ,我不想手动执行这些操作。

发现了一些在线资源,并改变了公式,但是当我尝试.Save() ,PowerShell似乎只是坐在那里,等待着什么,我不知道是什么。

 PS C:\> $excel = New-Object -com Excel.Application PS C:\> Get-ChildItem '\\UNC\Path\to\folder' <Common file string>*.xls -Recurse | Select-Object -First 1 | % { >> $workbook = $excel.Workbooks.Open($_.Fullname) >> $workbook.Save() >> } 

任何想法可能是什么问题?

当Excel挂在这方面,我会怀疑它正在等待你做一些事情。 最简单的是确认这是将可见性设置为True。

 $excel.Visible = $true 

这只会告诉你以前隐藏的对话框。 正如在评论中所讨论的那样,你看到了来自Compatibly Checker的消息。 一旦你知道它是什么,并愿意压制它,那么只要有以下几点

 $excel.Visible = $false $excel.displayAlerts = $false