Powershell 无法再次运行此脚本

Powershell 无法再次运行此脚本,powershell,Powershell,我正在将OGN.xlsx文件保存为jeeva.csv。下面的代码第一次运行并创建jeeva.csv PS C:\Users\Jeevananda_R> $objExcel=New-Object -ComObject Excel.Application PS C:\Users\Jeevananda_R> $workbook=$objExcel.Workbooks.Open('D:\OGN.xlsx') PS C:\Users\Jeevananda_R> $workbook.Sav

我正在将OGN.xlsx文件保存为jeeva.csv。下面的代码第一次运行并创建jeeva.csv

PS C:\Users\Jeevananda_R> $objExcel=New-Object -ComObject Excel.Application
PS C:\Users\Jeevananda_R> $workbook=$objExcel.Workbooks.Open('D:\OGN.xlsx')
PS C:\Users\Jeevananda_R> $workbook.SaveAs('D:\jeeva.csv',6)
已创建文件jeeva.csv

当我再次运行相同的程序时:

PS C:\Users\Jeevananda_R> $objExcel=New-Object -ComObject Excel.Application
PS C:\Users\Jeevananda_R> $workbook=$objExcel.Workbooks.Open('D:\OGNPL300.xlsx')
PS C:\Users\Jeevananda_R> $workbook.SaveAs('D:\jeeva.csv',6)
我得到这个错误:

使用“2”参数调用“SaveAs”时出现异常:“无法访问'jeeva.csv' 第1行字符:1 +$workbook.SaveAs('D:\jeeva.csv',6) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CategoryInfo:NotSpecified:(:)[],MethodInvocationException +FullyQualifiedErrorId:commethodtargetin职业这对我很有用

$objExcel=New-Object -ComObject Excel.Application
$objExcel.displayAlerts = $false
$workbook=$objExcel.Workbooks.Open('C:\test\test.xlsx')
$workbook.SaveAs('c:\test\new.csv',6) 
$workbook.close
[void]$objExcel.Quit()

在重新运行时编辑第二个命令,这就是运行PS C:\Users\Jeevananda\u R>$workbook=$objExcel.Workbooks.Open('D:\OGN.xlsx')的原因,仅仅因为您保存了工作簿,并不意味着您关闭了它。如何关闭该文件?我做了这个$workbook.close(),仍然sameExcel很有趣。看一看你能不能重新运行前三个相同的命令,因为我复制粘贴了你的代码,得到了相同的错误,第一次运行工作,但第二次失败,同样的错误我没有得到任何错误,如果在控制台或ISEWindows powershell中运行上述命令,在windows搜索中我搜索了powershell,出现了promt。Win 8.1 32位首先尝试结束所有excel进程,然后再次尝试我发布的代码(编辑文件路径)。我还建议退出excel后释放excel com对象:
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($objExcel)| Out Null;[System.GC]::Collect();[System.GC]::WaitForPendingFinalizers()